Ответы пользователя по тегу HTML
  • Как правильно выполнить редирект посредством HTML?

    @granty
    Исправить ошибку в URL=https:/mysyte/services - добавить второй слеш / в https://
    URL=https://mysyte/services
    Ответ написан
    7 комментариев
  • Как обойти блокировку автовоспроизведения?

    @granty
    vimeo и youtube знают волшебное слово "Feature Policy".

    1. Если посмотрите API vimeo - увидите там параметр autoplay. Потом сравните вызов API c параметром autoplay и без такового. И увидите, что добавляется ?autoplay=1 в <iframe src=>, чтобы их скрипт показа видео автоматически запустил его воспроизведение (кликнул по кнопке Start).
    Но, как вы заметили, браузеры могут блокировать автоматическое воспроизведение медиаконтента. Поэтому см п 2 ниже:

    2. Обратите внимание на атрибут allow="autoplay; fullscreen" у ифрейма, присылаемого в API п. 1. Это и есть "Feature Policy" (Политика возможностей), установленная через атрибут тега (её ещё можно издавать через HTTP-заголовок).
    autoplay; означает autoplay *; - то есть, браузеры, поддерживающие Feature Policy, разрешат автовопроизведение видео с любых (*) чужих доменов.
    Укажете там autoplay https://player.vimeo.com; - автовоспроизведение будет разрешено только для плеера vimeo.
    Ответ написан
    Комментировать
  • CSS не подключается mime type error?

    @granty
    У вас стили присылаются с MIME типом text/html, а должны - с text/css.
    Похоже вы rel='stylesheet' не указали в теге <link href='...' rel='stylesheet' type='text/css'>

    Или веб-сервер криво настроен - на .css отдаёт некорректный MIME-тип.
    Ответ написан
    Комментировать
  • Название моего сайта Вкусные блюда отображается в title, как его исправить?

    @granty
    Сегодня - 08 мая. На 04 мая на сайте был бестолковый <title> "полезно-вкусные блюда", вместо которого Яндекс брал название сайта для формирования Заголовка:
    5eb53644873bb786153852.jpeg
    В этом легко убедиться, посмотрев кэш вашей страницы, дата её последней индексации - 04 мая.
    Если ссылка на кэш 'протухнет'
    Если ссылка "протухнет" - найдите эту страницу в поиске Яндекса, и кликайте на зелёный треугольничек:
    5eb536cb03194315091578.jpeg и в выпадающем списве выбирайте "Сохранённая копия"


    То есть, после 4 мая вы поменяли тайтл, и хотите чтобы Яндекс за 3 дня полностью переиндексировал ваш сайт и сделал апдейт выдачи?
    Ответ написан
    Комментировать
  • Платные ссылки и переходы с домена через rel="noopener noreferrer"?

    @granty
    Везде идет стандартное описание в вида копипост, закрывает реферала, закрывает http!
    Вот зачем нужен атрибут rel="nofollow noopener".

    В Интернетах часто пишут всякие глупости, но на то вы и технарь, чтобы отделить зёрна от плевел.

    Если вы прочитали по ссылке выше, вы уже знаете, что:
    - rel="nofollow noopener" ставиться только на внешние ссылки на чужие ресурсы. При внутренних переходах по собственному сайту rel="nofollow noopener" указывать не надо (нет смысла), поэтому ваш счётчик переходов не остановится.

    - нормальные партнёрки (Адсенс, РСЯ и тп) делают ссылки яваскриптом, уже после загрузки страницы в браузере. Плагин WP крутится на сервере и прописать rel="nofollow noopener" у этих ссылок не сможет - он не дотянется до браузера пользователя.
    Ответ написан
    Комментировать
  • Как узнать откуда был загружен iframe?

    @granty
    Откуда был загружен iframe никак не узнать (узнать-то можно, но в вашем случае это не поможет).

    1. яваскрипт не сработает, тк политика «Одинакового источника» (Same Origin Policy) запрещает доступ из ифрейма к window.top.location.href, если они имеют разные происхождения (грубо говоря - разные домены).
    Проверить window.top != window.self браузер даёт, а доступ к фактическому url из window.top - нет.

    2. на сервере проверять переменную $_SERVER['HTTP_REFERER'] (кто запросил загрузку страницы) смысла тоже нет - если у ифрейма установлен атрибут referrerpolicy:
    <iframe referrerpolicy='no-referrer'>
    реферер не будет прислан (будет, но только в IE/Edge и Safari_IOS).


    Но сделать то, что вы хотите - можно легко. На странице надо издать HTTP-заголовок CSP с директивой frame-ancestors:
    header( "Content-Security-Policy: frame-ancestors https://ваш_сайт.ru http://ваш_сайт.ru https://www.facebook.com https://facebook.com https://www.google.com https://google.com;" );

    это разрешит открывать эту страницу в ифрейме с собственного домена ваш_сайт.ru(без поддоменов!) по http:/https:.
    И сайтам facebook.com и google.com с www или без (но только если фэйсбук/гугль загружены по https: - а их и невозможно загрузить по http:).

    PS: если ваш сайт доступен и по www - добавьте в "волшебную" строку:
    https://www.ваш_сайт.ru http://www.ваш_сайт.ru
    Ответ написан
    Комментировать
  • Как лучше разбить заголовок H1 с точки зрения SEO?

    @granty
    С точки зрения "old school" SEO:
    - Тег < br> (и все блочные теги) разрывает пассаж (Lexical Spans в терминологии Яндекса).
    - Если два слова запроса находятся в разных пассажах, это увеличивает расстояние между ними.
    - Слова ищутся в пределах всего документа, но в зависимости от расстояния между словами, они вносят разный вклад в конечную общую релевантность.

    Раньше даже перенос слова через дефис '-' рвал пассаж - Яндекс просто не понимал этого слова. Но он правильно понимал переносы по & shy;

    spoiler
    Раньше точное вхождение запроса в пассаж проверяли по подсветке слов в кэше Яндекса, но потом Яндекс стал обманывать сеошников.
    Также, Яндекс делает переколдовку (переформулировку) реального запроса с использованием синонимов и расширением запроса (добавлением новых слов) - это сильно затрудняет анализ вхождений.
    До того, как Яндекс объявил войну сешникам, переколдовку, веса слов и их "контрастность" можно было посмотреть. Возможно "старые" сеошники знают как посмотреть вхождение запроса в пассажи, но они больше не выносят это в паблик.

    Можно, конечно, "запилить" эксперимент (он займёт пару месяцев), но проще тупо не использовать < br> в заголовке. Задействуйте CSS для этих целей.
    Ответ написан
    1 комментарий
  • Как сделать чтобы при добавлении фотографии, добавлялась автоматически снизу кнопка навигации?

    @granty
    Любой слайдер это делает "из коробки". Динамически добавляете картинку, и появляется кнопка навигации на неё. Поставьте готовый слайдер и не парьтесь. Или поковыряйте коды простеньких слайдеров на предмет как это реализовано.
    Ответ написан
    Комментировать
  • Не удается отправить в БД введенные на сайт данные. Как исправить?

    @granty
    1. Если поле называется client_name
    <input type="text" name="client_name">
    то на сервере и ловите его под этим же именем:
    $name = trim($_REQUEST['client_name']);

    2. У вас 2 формы < form> - в одной поля , а во второй - только кнопка < submit>.
    При нажатии на кнопку отправляется вторая форма, но в ней нет полей с данными. Поэтому на сервер ничего не присылается. Перенесите кнопку "Записаться" в первую форму, а вторую форму вообще уберите.

    А вообще, FanatPHP прав. Вы читаете какие-то неправильные сайты.
    Ответ написан