Site name: Крутой шаринг страниц в соцсети с помощью Open Graph / Хабр
site name — Перевод на русский — примеры английский
Перевод Корректор Синонимы СпряжениеБольше
Спряжение Documents Грамматика Словарь Expressio Reverso для Windowsru
العربية Deutsch English Español Français עברית Italiano 日本語 Nederlands Polski Português Română Русский Türkçe 中文 Reverso для Windows About Reverso Context Reverso для бизнеса Новостная рассылка Контакты Размер текстаУрок 5. Специальные теги MODx | Теги MODx, longtitle, pagetitle, introtext, content, alias, base_url, Урок CMS MODx Evo | Уроки MODx Evo
Уроки MODx
При настройке шаблона мы использовали тег [*content*] для вывода содержимого страниц и тег [(base_url)] для указания базового URL для всех страниц сайта.
В этом уроке мы более подробно разберем основные теги, с которыми вам придется столкнуться при разработке сайтов на MODx.
Наиболее распространенные теги MODx
[(site_name)]
Рисунок 5. 1
[(base_url)] или [(site_url)] – два тега идентичны между собой. Эти конструкции позволяют выводить URL вашего сайта. При создании шаблона мы использовали тег [(base_url)] для указания базового URL для корректной работы с относительными путями.
[*longtitle*] – выводит содержимое поля Расширенный заголовок. Обычно используется как главный заголовок <h2> на странице.
[*description*] – выводит содержимое поля Описание. Это поле будем использовать для вывода содержимого в META-теге description.
[*introtext*] – выводит содержимое поля Аннотация. Это поле чаще всего используют при создании новостей, заметок в блоге и т.п. для организации страниц с кратким описанием заметок.
[*content*] – основное содержимое страниц. Конструкция выводит любой текст или HTML код, написанный или отредактированный в визуальном редакторе.
[*id*] – выводит идентификатор ресурса.
[*alias*] – выводит псевдоним ресурса.
[~идентификатор~] – выводит URL адрес ресурса, идентификатор которого указан. Например, если ID страницы Новости – 4, а псевдоним этой страницы – news, то конструкция [~4~] выведет URL вашей страницы с новостями.
<a href=”[~4~]”>Новости</a>
Для простоты понимания приведенных выше тегов MODx мы приводим изображение, на котором изображена страница редактирования ресурса с указанием того, какие теги отвечают за вывод в шаблоне содержимого того или иного поля.
Рисунок 5.2
Выше представлены часто употребляемые теги MODx. Но вы должны иметь ввиду, что всего тегов существует гораздо больше. Чтобы вы имели о них представление, мы дополним список менее распространенными тегами.
[*pub_date*] – дата публикации ресурса
[*unpub_date*] – дата завершения публикации
[*createdby*] – идентификатор пользователя, создавшего ресурс
[*createdon*] – дата создания ресурса
[*editedby*] – идентификатор пользователя, редактировавшего ресурс
[*editedon*] – дата редактирования ресурса
[*contentType*] – тип содержимого (например, text/html)
[*type*] – тип (ресурс, папка или ссылка)
[*published*] – опубликован ли ресурс (1|0)
[*parent*] – номер (ID) родительского ресурса
[*isfolder*] – является ли ресурс папкой (1|0)
[*richtext*] – используется ли при редактировании страницы визуальный редактор
[*template*] – номер (ID) используемого шаблона для ресурса
[*menuindex*] – порядковый номер отображения в меню
[*searchable*] – доступен ли ресурс для поиска (1|0)
[*cacheable*] – кэшируется ли ресурс (1|0)
[*deleted*] – ресурс удален (1|0)
[*deletedby*]
[*menutitle*] – заголовок меню, если таковой есть
[*donthit*] – слежение за количеством посещений отключено (1|0)
[*haskeywords*] – ресурс содержит ключевые слова (1|0)
[*hasmetatags*] – ресурс имеет META теги (1|0)
[*privateweb*] – ресурс входит в частную группу пользовательских документов (1|0)
[*privatemgr*] – ресурс входит в частную группу менеджерских документов (1|0)
[*content_dispo*] – вариант выдачи содержимого (1 – для отображения | 0 – прикрепленное для скачивания)
[(modx_charset)] – выводит название используемой кодировки
[^qt^] – выводит время запросов к базе данных
[^q^] – выводит количество запросов к базе данных
[^p^] – выводит время работы PHP скриптов
[^t^] – выводит общее время генерации страницы
[^s^] – выводит источник содержимого (база или кэш)
1. Откройте для редактирования чанк HEAD и в теге <title> вставьте констркуцию:
[*pagetitle*] | [(site_name)]
Эта конструкция будет выводить в названии HTML-страницы название ресурса и заголовок сайта, разделенные знаком «|».
2. Затем можно добавить META тег description, в содержимое которого вписываем конструкцию [*description*]
<meta name=»description» content=»[*description*]»/>
3. Можно сразу изменить кодировку в шаблоне. Если помните, у нас она была выставлена в UTF-8. В списке выше указан тег, который выводит название кодировки используемой на сайте.
После внесения всех перечисленных изменений чанк HEAD будет иметь следующий вид:
<head>
<base href=»[(site_url)]» />
<title>[*pagetitle*] | [(site_name)]</title>
<meta http-equiv=»Content-Type» content=»text/html; charset=[(modx_charset)] «/>
<meta name=»description» content =»[*description*]»/>
<meta http-equiv=»imagetoolbar» content=»no» />
<link rel=»stylesheet» href=»/assets/templates/site-labmodx/styles/layout. css» type=»text/css» />
<script type=»text/javascript» src=»/assets/templates/site-labmodx/scripts/jquery-1.4.1.min.js»></script>
<script type=»text/javascript» src=»/assets/templates/site-labmodx/scripts/jquery.jcarousel.pack.js»></script>
<script type=»text/javascript» src=»/assets/templates/site-labmodx/scripts/jquery.jcarousel.setup.js»></script>
</head>
4. Вы можете посмотреть, как выглядит заголовок страницы в окне браузера. У нас выглядит так:
Рисунок 5.3
5. Сейчас неплохо было бы автоматизировать вывод главного заголовка <h2> на страницах сайта. Для этого отправляемся на страницу редактирования чанка и перед уже знакомым тегом вывода содержимого страницы вставляем вывод заголовка, содержимое которого будем брать из поля Расширенный заголовок. Как мы видели из рисунка – этому полю соответствует тег [*longtitle*]. После внесения изменений чанк CONTENT примет следующий вид:
<div>
<h2>[*longtitle*]</h2>
[*content*]
</div>
Таким образом, главные заголовки <h2> наших страниц будут выставляться автоматически, и их не нужно будет вписывать в визуальном редакторе. Главное – это не оставлять пустым поле Расширенный заголовок при редактировании ресурса. Так же для организации заголовков Вы можете использовать содержимое других полей, например, поле Заголовок. В этом случае в чанк CONTENT вам необходимо будет добавлять конструкцию <h2>[*pagetitle*]</h2>.
Стили для заголовка в шаблоне уже прописаны. Поэтому, если поле Расширенный заголовок вы не оставили пустым на странице у вас появится заголовок. Вот так он выглядит:
Рисунок 5.4
6. После этого нам необходимо добавить вывод заголовков в шаблон Во всю ширину, ведь Вы помните, что в этом шаблоне чанка CONTENT у нас нет, а содержимое страниц мы вызываем сразу из шаблона с помощью тега [*content*]. Поэтому, откройте страницу редактирования шаблона и добавьте над этим тегом вывод заголовка: <h2>[*longtitle*]</h2>. После изменений шаблон Во всю ширину должен выглядеть следующим образом.
Рисунок 5.5
Реализация цепочки навигации «Хлебные крошки». Сниппет Breadcrumbs
Цепочка навигации будет показывать посетителю, где он находится относительно главной страницы.
Рисунок 5.6
Реализовать строку навигации в MODx можно различными способами, но в этом уроке речь пойдет об одном встроенном сниппете Breadcrumbs. Он входит по умолчанию в дистрибутив MODx, и его основной задачей является создание этой цепочки.
Чтобы вызвать сниппет Breadcrumbs в шаблоне мы должны вставить следующую конструкцию:
В этом случае результат работы будет кэшироваться, и при повторном вызове сниппета код не обрабатывается, а берется из кэш. Некэшируемый вызов осуществляется с помощью названия сниппета, помещенного в квадратные скобки с восклицательными знаками. Вот как бы выглядел некэшируемый вызов: [!Breadcrumbs!].
Результатом работы этого сниппета будет вывод пунктов, которые отражают иерархию сайта для активной страницы. При этом все пункты навигации будут описаны соответствующими CSS классами.
Например, в нашем случае на странице О нас этот сниппет выведет разметку следующего вида:
<span> <span><a href="/main.html" title="Описание страницы">Главная</a></span> <span> <span>О нас</span> </span> </span>
Если проанализировать этот код, то мы увидим, что каждый пункт имеет свой класс, при этом последний пункт у нас выводится без ссылки. Разделителем между пунктами служит правая кавычка-ёлочка. Код этого символа: ».
Для оформления внешнего вида при выводе сниппета используются следующие CSS классы, которые вы должны знать:
- .B_crumbBox – служит для оформления всего блока цепочки навигации
- .B_homeCrumb – служит для оформления ссылки, ведущей на главную страницу
- . B_currentCrumb – служит для оформления пункта текущей страницы
- .B_firstCrumb – служит для оформления первого элемента цепочки
- .B_lastCrumb – оформление последнего пункта цепочки
- .B_crumb – оформление всех остальных элементов (кроме первого, последнего и текущего)
- .B_hideCrumb – оформление блока c многоточием «…», который появляется в том случае, когда количество пунктов больше установленного вами значения
Используя эти классы, Вы можете в CSS-файле прописать стили для любого тега или пункта навигационной цепочки.
В нашем шаблоне хлебные крошки будут отображаться на всех страницах, кроме главной. Мы вынесли этот элемент в отдельный чанк с именем BREADCRUMB. Сейчас в этом чанке находится следующий код:
<div> <div> <ul> <li>You Are Here</li> <li>»</li> <li><a href="#">Home</a></li> <li>»</li> <li><a href="#">Grand Parent</a></li> <li>»</li> <li><a href="#">Parent</a></li> <li>»</li> <li><a href="#">Child</a></li> </ul> </div> </div>
7. Навигационная цепочка в этом чанке представляет собой ненумерованный список, помещенный в два контейнера <div> и <div>. При этом первый элемент цепочки обозначен классом first, а текущий – current. Чтобы сделать динамическую цепочку навигации мы удаляем этот список и на его место вставляем конструкцию вызова сниппета Breadcrumbs. После чего чанк BREADCRUMB будет содержать в себе следующий код:
<div>
<div>
[[Breadcrumbs]]
</div>
</div>
Внимание: в конструкции вызова сниппета имя должно быть написано точно так же, как на странице в администраторской панели: Элементы – Управление элементами – Сниппеты. Это значит, что если Вы напишите с маленькой буквы, либо все буквы будут заглавными, то вызов сниппета осуществлен не будет.
8. Обновите сайт. В браузере на всех страницах, кроме главной будет отображаться динамическая цепочка навигации. Вот как она будет выглядеть на странице Услуги:
Рисунок 5.7
Рассмотрим специальные параметры, которые Вы сможете передавать сниппету Breadcrumbs, чтобы иметь полный доступ к оформлению цепочки навигации.
Напомним, что передача параметров сниппету осуществляется с помощью следующей конструкции:
[[Breadcrumbs? &имя_параметра1=`значение` &имя_параметра2=`значение`]]
Мы уже пользовались подобным синтаксисом при передаче параметров сниппету Wayfinder в уроке о реализации динамического меню.
Параметры Breadcrumbs
Общие настройки:
- &maxCrumbs – максимальное число пунктов в цепочке.
Возможные значения: целое число.
По умолчанию: 100.Примечание: если установлено число меньше возможного количества пунктов, то посредине цепочки появится многоточие «…» вместо лишних пунктов.
- &respectHidemenu – скрывать пункты, не помеченные для показа в меню.
Возможные значения: 0 — отображать | 1 — скрывать.
По умолчанию: 1.Примечание: включать и отключать пункты для показа в меню можно на странице редактирования ресурса на вкладке «Общие». галочка «Показывать в меню».
- &showCurrentCrumb – показывать в цепочке пункт с названием текущей страницы.
Возможные значения 0 — не показывать | 1 — показывать.
По умолчанию: 1.Примечание: с помощью этого параметра можно отключить отображение последнего пункта в цепочке.
- ¤tAsLink – отображать пункт текущей страницы в виде ссылки или в текстовом виде.
Возможные значения 0 — текст | 1 — ссылка.
По умолчанию: 0.Примечание: по умолчанию этот параметр отображает пункт текущей страницы в виде простого текста, если вы захотите отобразить пункт в виде ссылки на текущую страницу, выставьте значение 1.
- &linkTextField – название пунктов в цепочке навигации.
По умолчанию: menutitle или pagetitle.
Возможные значения: description | longtitle | pagetitle | menutitle.Примечание: от этого параметра зависит, какое поле будет браться для формирования названия пунктов цепочки навигации. По умолчанию название пункта цепочки будет совпадать с названием пункта меню, которое можно изменить на странице редактирования ресурса в поле «Пункт меню».
- &linkDescField – атрибут title для ссылок в цепочке навигации.
По умолчанию: description.
Возможные значения: pagetitle, longtitle, description, menutitle.
Примечание: значение атрибута title всплывает при наведении мышки на ссылку в цепочке навигации. По умолчанию берется значение поля «Описание», которое можно изменить на странице редактирования ресурса. - &showCrumbsAsLinks – пункты цепочки навигации являются ссылками или текстом.
Возможные значения: 0 — текст | 1 — ссылки.
По умолчанию: 1.Примечание: можете установить значение 0, если по какой-то причине хотите, чтобы цепочка навигации была некликабельна и отображалась в виде текста.
- &crumbGap – строка, которая будет представлять собой разрыв цепочки навигации.
Возможные значения: строка.
По умолчанию: многоточие «…».Примечание: вы можете указать какие символы будут разрывать цепочку навигации, если количество пунктов в цепочке больше указанного в &maxCrumbs значения.
- &stylePrefix – приставка в названиях CSS классов.
Возможные значения: строка.
По умолчанию: B_.Примечание: значение этого параметра определяет префикс в названии CSS классов. Чуть выше мы уже отметили, какие классы используются при выводе HTML разметки и за что они отвечают.
Настройки для ссылки на главную страницу:
- &showHomeCrumb – отображать ссылку на главную страницу.
Возможные значения: 0 — не отображать | 1 — отображать.
По умолчанию: 1.Примечание: по умолчанию в начале цепочки навигации отображается ссылка на главную страницу, даже если ее нет в иерархии текущего документа.
- &homeId – идентификатор страницы, которая будет считаться главной.
Возможные значения: целое число.
По умолчанию: $modx->config[‘site_start’].Примечание: по умолчанию главной страницей будет считаться та, идентификатор которой указан на странице системной конфигурации в поле «Первая страница».
- &homeCrumbTitle – текст пункта главной страницы в цепочке навигации.
Возможные значения: строка.
По умолчанию: menutitle или pagetitle.Примечание: использовать этот параметр вы можете в том случае, когда захотите, чтобы текст пункта главной страницы отличался от названия пункта меню главной страницы или заголовка страницы, которые можно изменить при редактировании ресурсов. Например, некоторые разработчики вписывают вместо названия «Главная страница» в цепочке навигации название домена.
- &homeCrumbDescription – пользовательский текст, который может быть использован в качестве атрибута title для ссылки на главную страницу.
Возможные значения: строка.
По умолчанию: значение, указанное в параметре linkDescField.Примечание: если поле оставить пустым, то текст для атрибута title будет определяться параметром &linkDescField. При желании можете вписать текст, который всплывет при наведении курсора на ссылку. Например, «Перейти на главную страницу»
Настройки для отображения цепочки навигации на различных страницах:
- &showCrumbsAtHome – отображать цепочку навигации на главной странице.
Возможные значения: 0 — не отображать | 1 — отображать.
По умолчанию: 1.Примечание: с помощью этого параметра можно отключить показ цепочки навигации на главной странице.
- &hideOn – не отображать цепочку навигации на страницах
Возможные значения: разделенные запятыми идентификаторы страниц, на которых не должна отображаться цепочка навигации.Примечание: этот параметр удобно использовать для небольшого количества страниц, на которых в качестве исключения не нужен вывод строки навигации. Если же таких страниц много, то лучше воспользоваться параметром &hideUnder либо подумать над созданием еще одного шаблона.
- &hideUnder – не отображать цепочку навигации на дочерних страницах
Возможные значения: разделенные запятыми идентификаторы папок, на дочерних документах которых не должна отображаться строка навигации.Примечание: указание ID папок скрывает строку навигации только на дочерних страницах. Если вы хотите, чтобы строка не отображалась как на дочерних, так и на родительских страницах, добавьте ID родительских ресурсов как в &hideUnder так и в &hideOn.
Потренируемся передавать дополнительные параметры во время вызова сниппета.
Давайте выведем цепочку навигации, у которой текст ссылки на главную страницу будет Главная, при наведении мышки на ссылку главной страницы будет всплывать надпись Перейти на главную страницу, атрибут title для всех остальных ссылок будет подставляться из поля Расширенный заголовок. Остальные все значения параметров оставим по умолчанию.
9. В чанке BREADCRUMB вставьте конструкцию, приведенную ниже:
[[Breadcrumbs? &homeCrumbDescription=`Перейти на главную страницу` &linkDescField=`longtitle`]]
Рисунок 5.8
10. Обновите страницу в браузере. Вот как будет выглядеть получившаяся цепочка навигации:
Рисунок 5.9
11. Теперь изменим внешний вид цепочки навигации в CSS стилях (файл layout.css). Давайте сделаем так, чтобы ссылки отличались от обычного текста. Сделаем ссылки подчеркнутыми, а при наведении курсора на ссылку – без подчеркивания. Для этого мы идем редактировать CSS-файл, который лежит в директории:
assets/templates/site-labmodx/styles/layout.css
Находим в этом файле стили, отвечающие за отображение блока BreadCrumb (в 114 строке). Удалите эти стили.
/* ----------------BreadCrumb--------------*/ #breadcrumb{ padding:20px 0; } #breadcrumb ul{ margin:0; padding:0; list-style:none; } #breadcrumb ul li{display:inline;} #breadcrumb ul li.current a{text-decoration:underline;}
12. Вставьте следующие стили вместо удаленных:
#breadcrumb {padding:20px 0;} #breadcrumb a{text-decoration:underline;} #breadcrumb a:hover{text-decoration:none;}
Обновите страницу. Если после обновления не видно изменений (мы ведь используем кэшируемый вызов сниппета Breadcrumb), нажмите Ctrl+F5, чтобы загрузить страницу не из кэша браузера. После обновления страницы внешний вид нашей цепочки навигации изменится, но незначительно. Ссылки будут подчеркнуты.
Рисунок 5.10
Как перенести сайт на MODx с компьютера на компьютер
или на другой хостинг
Создаём микроразметку Open Graph | Веб-Острова Анатолия Куликова
Популярное
В этом уроке мы создадим микроразметку Open Graph. В прошлом уроке про Schema.org мы уже начали создавать разметку для поисковых систем. Теперь черёд социальных сетей — они немаловажны, ибо хорошим материалом с сайта пользователь захочет поделиться.
Что такое вообще Open Graph и откуда взялся? Это ещё один словарь микроразметки, который был разработан Facebook для структурирования данных, находящихся на странице, и создания красивого блока превью для социальной сети.
Сейчас с Open Graph работают (кроме самого Facebook) социальные сети Вконтакте, Google+, Twitter, LinkedIn, Pinterest, а также поисковые системы. Например, Яндекс активно использует разметку в поисках по видео, причём имеет собственной разработки метки, которых нет в оригинальной документации.
Наша задача состоит в том, чтобы сайт красиво отображался в социальных сетях. Но вначале немного теории.
Немного теории об Open Graph
Все данные для OG передаются в мета-тегах, что размещаются в контейнере <head>. Существует 4 таких тега, которые должны быть, иначе не взлетит (или взлетит, но не совсем):
- og:title — название размечаемого объекта (страницы). Аналог и родственник title.
- og:type — тип страницы (объекта) или другими словами обозначение того, что находится на данной странице — страница сайта, видео или аудио файлы. В зависимости от указанного типа может понадобиться ещё метатегов.
- og:image — изображение-иллюстрация для страницы (объекта). Здесь требуется указать прямую ссылку на изображение.
- og:url — каноничный url адрес данной страницы.
Наверное, вы заметили, что в описании типов я указывал наряду со страницей слово “объект” — дело в том, что в логике работы OG им называется основной элемент на странице. Допустим, наш сайт — видеохостинг и на данной странице мы предлагаем зрителям посмотреть видео. Значит, эта страница — это объект типа “видео” со всеми вытекающими отсюда мета-тегами.
Все дополнительные мета-теги называются опциональными — останавливаться на них сейчас не будем, а рассмотрим на примерах позже.
Стандартная разметка сайта
В самом начале мы должны указать, что используем Open Graph, для чего в тег <html> добавляем следующий код:
<html prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Итак, вот такой минимальный код разметки Open Graph нужен на сайте, чтобы основные социальные сети могли сделать красивый блок:
<meta property="og:type" content="website"> <meta property="og:site_name" content="Название сайта"> <meta property="og:title" content="Заголовок"> <meta property="og:description" content="Описание страницы"> <meta property="og:url" content="http://mysite. com/post"> <meta property="og:locale" content="ru_RU"> <meta property="og:image" content="http://mysite.com/thumbnail.jpg"> <meta property="og:image:width" content="968"> <meta property="og:image:height" content="504">
Код достаточно простой и понятный. Здесь уже появились и опциональные мета-теги для изображения — указания размера изображения (про размеры изображений поговорим чуть позже).
Теперь немного тонкости по мета-тегу og:type. Этот тип указывает, что это вообще за страница — если это главная страница сайта или его раздел, то его тип можно указать как website. А вот если это уже отдельная страница (статья) на сайте, то необходимо типом указать article:
<meta property="og:type" content="article" />
Но при этом у нас должно измениться содержание тега <html>:
<html prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp. me/ns/article#">
Замечу тут же и сразу, что мета-тег og:type связан со значениями атрибутов в теге html, поэтому здесь необходима внимательность. Значений для og:type очень много и для тех, кому интересно ознакомиться со всеми ними подробнее, предлагаю посмотреть документацию Facebook — там всё достаточно просто, к тому же отображена актуальная информация.
Тег og:site_name указывает название сайта. В отличии от og:title, который меняется в зависимости от названия страницы, не изменяется.
Также здесь добавлен мета-тег языка страницы og:locale — он не обязателен, но желателен.
Open Graph для Twittera
С Твиттером немного сложнее — если мы хотим добавить полную поддержку для него, то нужно добавить ещё несколько строк кода:
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Заголовок"> <meta name="twitter:description" content="Описание"> <meta name="twitter:image:src" content="http://mysite. com/thumbnail.jpg"> <meta name="twitter:url" content="http://mysite.com/post"> <meta name="twitter:domain" content="mysite.com"> <meta name="twitter:site" content="@sitetwitteraccount"> <meta name="twitter:creator" content="@mytwitteraccount">
Тэги частично повторяют стандартный набор Open Graph, но на одном из них, а именно twitter:card, нужно остановиться подробнее. Данный тег отвечает за инициализацию карточки в системе Твиттера и для нескольких вариантов её отображения имеет отдельные значения.
Summary Card — данное значение является общим нейтральным и может быть применимо для использоваться для многих видов веб-контента, от сообщений в блогах и новостных статей, продуктов и ресторанов. Он предназначен, чтобы дать читателю предварительный просмотр содержимого перед кликом на ваш сайт. Стандартный вариант, чтобы не заморачиваться. В случае для Summary Card код будет таким:
<meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@" /> <meta name="twitter:title" content="Заголовок" /> <meta name="twitter:description" content="Описание" /> <meta name="twitter:image" content="http://mysite. com/thumbnail.jpg" />
Summary Card with Large Image — по сути, та же Summary Card, только с большой фотографией, на которой и делается весь акцент. Код меняется не слишком сильно:
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@sitetwitteraccount"> <meta name="twitter:creator" content="@mytwitteraccount"> <meta name="twitter:title" content="Заголовок"> <meta name="twitter:description" content="Описание"> <meta name="twitter:image" content="http://mysite.com/thumbnail.jpg">
App Card — используется, чтобы указать ссылку на мобильное приложение. Здесь имеется чуть больше параметров — кроме иконки (то же изображение по сути), названия и описания, можно добавить такие параметры, как цена и рейтинг. Количество тегов здесь значительно больше.
<meta name="twitter:card" content="app"> <meta name="twitter:site" content="@Account"> <meta name="twitter:description" content="Описание"> <meta name="twitter:app:country" content="RU"> <meta name="twitter:app:name:iphone" content="Название"> <meta name="twitter:app:id:iphone" content="929750075"> <meta name="twitter:app:url:iphone" content="cannonball://poem/5149e249222f9e600a7540ef"> <meta name="twitter:app:name:ipad" content="Название"> <meta name="twitter:app:id:ipad" content="929750075"> <meta name="twitter:app:url:ipad" content="cannonball://poem/5149e249222f9e600a7540ef"> <meta name="twitter:app:name:googleplay" content="Название"> <meta name="twitter:app:id:googleplay" content="io. fabric.samples.app"> <meta name="twitter:app:url:googleplay" content="http://url-to-app">
Имхо, данная тема больше нужна разработчикам мобильных приложений для Android и iOs, поэтому даю ссылку на документацию — там есть немного больше информации.
Player Card — создаёт карточку для трансляций видео (стримов) и аудио (подкастов). Тут тоже есть ряд нюансов, которые заслуживают отдельной статьи и похода в документацию, поэтому приведу минимально необходимый код для того, чтобы это работало:
<meta name="twitter:card" content="player" /> <meta name="twitter:site" content="@Account" /> <meta name="twitter:title" content="Заголовок" /> <meta name="twitter:description" content="Описание" /> <meta name="twitter:image" content="https://mysite.com/thumbnail-for-videofile.png" /> <meta name="twitter:player" content="https://mysite.com/page-with-video.html" /> <meta name="twitter:player:width" content="1280" /> <meta name="twitter:player:height" content="720" /> <meta name="twitter:player:stream" content="https://mysite. com/videofile.mp4" /> <meta name="twitter:player:stream:content_type" content="video/mp4" />
Теперь про тег twitter:site — он создан для связывания контента с аккаунтом Вашего сайта в Twitter. Если у вашего сайта есть собственный аккаунт — указывайте его, если нет — можете пропустить, поскольку тег не обязательный. Его практически дублирует twitter:creator, который указывает на аккаунт непосредственно автора контента, что может быть полезным для сайтов с количеством авторов, отличном от 1. Тег также необязателен и можно его не указывать.
Хочу отметить, что если этот код не добавлять, то система сможет составить из содержимого страницы данные, но лучше сделать чуть больше, но правильно.
В разделе для разработчиков предоставлен валидатор для карточек Твиттера для тестирования веб-страниц.
Статистика от Facebook
На правах создателя разметки Open Graph компания Facebook добавил тег, который он хочет видеть в разметке — в простом варианте я его не указывал, но пропустить и умолчать о нём считаю неправильным.
<meta property="fb:app_id" content="ID" />
Тег fb:app_id создан для того, чтобы была возможность воспользоваться статистикой на Facebook — с её помощью можно просматривать информацию о переходах на Ваш сайт из Facebook. Для того, чтобы иметь такую возможность, необходимо в разделе Разработки создать новое приложение типа сайт или выбрать из уже имеющихся.
Этот тег необязательный, но Отладчик объектов Open Graph в Facebook будет показывать ошибку.
Немного про размер изображений
Я обещал на этом моменте остановиться подробнее и его сдерживаю, поскольку вопрос действительно важный. На карту поставлен престиж и такие вопросы оставлять нельзя.
Разработчики Facebook в рекомендациях указывают, что размер изображения должен быть пропорционален 1,91:1, чтобы избежать для него обрезания. И минимальным размером считают 1200×630 пикселов.
Но есть такой момент — другие социальные сети, которые по своему работают с превью изображения и могут легко его кропнуть (обрезать) так, что дизайнер, создавший обложку, заплачет горькими слезами — вся красота и гармония будет покоцана (а некоторые элементы вообще будет не видно).
Посему зачастую размер изображения делают равным 968×504 пикселов. Получается хорошо и универсально. Но конечный выбор размера изображения остаётся за Вами.
Информация об авторе статьи
Увековечить себя в микроразметки поможет следующая строчка в коде:
<meta name="article:author" content="https://www.facebook.com/ivanpupkin">
Если объект страницы — продукт коллективного труда, то авторов можно указать через запятую:
<meta name="article:author" content="https://www.facebook.com/ivanpupkin, https://www.facebook.com/sergeyvolkoff">
Как вы уже успели заметить, указание автора происходит путём указания ссылки на его профиль в Facebook. Но как быть, если авторство застолбить охота, но профиля в FB нет? В таком случае используем следующий тег:
<meta name="author" content="ivanpupkin" />
Да, он уже идёт без пометки og и не очень каноничен, но это вынужденная мера — не заводить же аккаунт в Facebook, в самом деле!
Разметка видео
Такую разметку следует применять на страницах, где основным элементом является видео. Для начала добавляем нужную информацию в <html>:
<html prefix="og: http://ogp.me/ns# video: http://ogp.me/ns/video# ya: http://webmaster.yandex.ru/vocabularies/">
Заметили? Появился новый указатель на словарь от Яндекса — это нужно для того, чтобы видео с сайта попало в поиск в соответствующий раздел. Теперь добавляем мета-теги:
<meta property="og:title" content="Open Graph для видео"/> <meta property="og:url" content="http://mysite.com/my-little-cat/"/> <meta property="og:video" content="http://mysite.com/video/my-little-cat/"/> <meta property="og:description" content="Мои маленькие котятки"/> <meta property="video:duration" content="327878"/> <meta property="og:image" content="http://mysite.com/img/my-little-cat.png"/> <meta property="ya:ovs:upload_date" content="2013-06-05"/> <meta property="ya:ovs:adult" content="false"/> <meta property="og:type" content="video. other"/> <meta property="og:video:type" content="webm"/>
Их тут очень много и некоторые необходимо разобрать подробнее:
- Тег og:video указывает либо на сам файл, либо на плеер, с помощью которого он проигрывается.
- Тег video:duration указывает продолжительность видео в секундах (поэтому такие большие значения).
- Тег ya:ovs:adult указывает на принадлежность видео к категории “18+”. Если видео имеет такое ограничение, то пишем true, а если нет, то false.
- Тег og:type показывает, к какому жанру относится это видео — кино, серия из сериала, музыкальный клип, шоу, прямая трансляция или что-то другое (как в нашем примере).
- Тег og:video:type указывает на формат файла.
Как видите, разметка для видеофайла уже большая, чем для простой страницы.
Заключение
И напоследок хочу дать сслылки на два инструмента внутри социальных сетей: Отладчик объектов Open Graph в Facebook и pages. clearCache ВКонтакте. Дело в том, что социальные сети, когда обнаруживают новую ссылку внутри себя, кэшируют их содержание и сохраняют — сделано это для того, чтобы каждый раз при показе блока не обращаться за данными на указанный сайт. И если вы заняты отладкой внешнего вида блока или вдруг содержание страницы поменялось (картинка другая, заголовок или описание), и чтобы данные обновились в социальных сетях, кэш нужно сбрасывать (самому вручную).
ВКонтакте нужно просто указать ссылку (в форме внизу страницы) и нажать «Выполнить». На Facebook же функционала немного больше — можно посмотреть текущую информацию о странице и при надобности сбросить её. И заодно посмотреть, правильно ли оформлена разметка (отмечу, что он может ругаться на разметку, но при этом нормально работать).
На этом всё, что я хотел рассказать про разметку Open Graph. В конце добавлю, что её следует использовать в совокупности со Schema.org для поисковых систем.
И конечно же, обязательно использовать кнопки социального шаринга, чтобы посетитель вашего сайта мог легко поделился информацией со своими друзьями.
Meta-теги для социальных сетей VK, Facebook, Google+, Twitter
Без кнопок “Поделится” сейчас невозможно представить какой-либо сайт и это не странно, ведь социальные сети заполонили весь мир. У каждого пользователя интернета есть хотя бы один активный аккаунт в социальной сети. А возможность рассказать о посещаемом ресурсе дает сайту новых потенциальных посетителей или клиентов. Но порой установить обычную кнопку “Поделится” недостаточно, думаю, многие замечали, когда ставят кнопку, а после нажимают её, чтобы протестировать, видят не совсем желаемый результат:
Как мы видим, заголовок и описание не подгрузилось со страницы, это значит, что нам его нужно задавать вручную или же оставлять как есть. Но вот если мы еще можем задать вручную, то обычный пользователь в ряд ли будет заниматься подобным, а посетители его страницы даже если и увидят эту запись на стене, то сразу не поймут о чем она и переходить по ссылке не станут, разве что ради интереса. Хотелось бы сделать так, чтобы при нажатии на кнопку “Поделится” сайт как-то сообщал социальной сети о том, какими данными заполнять эти поля. Для этого и существуют специальные протоколы, чтобы воспользоваться ими необходимо лишь добавить в начале страницы, в разделе <head>
, приведенные ниже meta-теги.
Микроразметка страницы с помощью Open Graph
Протокол Open Graph понимают такие социальные сети как Facebook и VK, поэтому дальнейшие настройки будет сделаны в первую очередь под них. Добавляем на страницу следующие meta-теги:
<meta property="og:locale" content="ru_RU"/> <meta property="og:type" content="article"/> <meta property="og:title" content="Название страницы"/> <meta property="og:description" content="Описание страницы"/> <meta property="og:image" content="http://site.com/uploads/image_1.png"/> <meta property="og:url" content="http://site.com/page_1.html"/> <meta property="og:site_name" content="Название сайта"/>
- og:locale – локализация сайта, для русскоязычного сайта ru_RU;
- og:type – тип контента, по умолчанию используется article;
- og:title – заголовок страницы, который будет выводится в записи социальной сети;
- og:description – описание страницы;
- og:image – ссылка на изображение, которое будет публиковаться в записи;
- og:url – ссылка на текущую страницу;
- og:site_name – название сайта.
Также, но только для Facebook‘а можно добавить еще такие meta-теги:
<meta property="fb:admins" content="Facebook_ID"/> <meta property="profile:first_name" content="Имя"/> <meta property="profile:last_name" content="Фамилия"/> <meta property="profile:username" content="Ник"/>
Если основной контент на вашей странице – это видео, то необходимо добавить также следующие:
<meta property="og:video:type" content="application/x-shockwave-flash" /> <meta property="og:video" content="http://site.com/video/video.swf?file=files/video1001.mp4" /> <meta property="og:video:height" content="720" /> <meta property="og:video:width" content="1280" /> <meta property="og:duration" content="2520" />
- og:video:type – тип видео;
- og:video – ссылка на видеоплеер;
- og:video:height – высота видеозаписи;
- og:video:width – ширина видеозаписи;
- og:duration – продолжительность видеозаписи в секундах.
Подробнее о протоколе Open Graph можно почитать в официальном источнике.
Создание Twitter Cards
Для сервиса микроблогов Twitter существует свой набор meta-тегов:
<meta name="twitter:card" content="summary"> <meta name="twitter:site" content="Автор"> <meta name="twitter:title" content="Название страницы"> <meta name="twitter:description" content="Описание страницы"> <meta name="twitter:image" content="http://site.com/image_1.png">
- twitter:card – тип карты, по умолчанию используется summary;
- twitter:site – имя/логин автора;
- twitter:title – название страницы;
- twitter:description – описание страницы;
- twitter:image – ссылка на изображение.
С более подробной информацией о типах карт, их созданию, а также валидатором можно ознакомится в официальной документации.
Настройка для Google+. Микроразметка Schema.org
Следующие meta-теги будут понятны для сети Google+ и многих других, которые используют синтаксис Schema.org.
<meta itemprop="name" content="Название сайта"/> <meta itemprop="description" content="Описание сайта"/> <meta itemprop="image" content="http://site.com/image_1.png"/>
Комментировать каждую запись смысла нету, все понятно из названия.
Теперь при нажатии на кнопку “Поделиться” или при простой публикации ссылки, будет подгружаться полная информация о размещаемой странице.
Если вы используете у себя какую-то популярную CMS вроде WordPress, то можете поискать уже готовый плагин и не прописывать все вручную. На этом же разбор meta-тегов для социальных сетей окончен. Возникли вопросы – не стесняйтесь, задавайте в комментариях.
Как и зачем использовать разметку Open Graph
Наполняете интересным контентом свой ресурс и собираетесь поделиться лучшими материалами в Facebook, Вконтакте и далее по списку? Проверьте, готов ли к этому сайт. Один из обязательных пунктов — наличие микроразметки Open Graph.
Зачем вашему сайту Open Graph
Если вы разместили на странице кнопки шеринга, вы наверняка предполагаете, что материал будут репостить:
И обидно будет, если репост будет выглядеть кривовато. Например, подтянется случайная картинка, а вместо короткого анонса внезапно появится текст из тайтла страницы.
Разметка (протокол) Open Graph позволяет контенту, которым вы делитесь в социальных сетях, выглядеть привлекательно. Например, вот так:
Репост в Facebook — статья с внедренной разметкой
Репост во ВКонтакте — статья с внедренной разметкой
Если захотите поделиться ссылкой с сайта без Open Graph, пост может выглядеть довольно грустно.
Ссылка в Facebook с сайта без OG-разметки
Просто подключи PromoPult. Комплексное рекламное решение для малого и среднего бизнеса. Минимальные стартовые бюджеты, полный набор инструментов для всех каналов продвижения, глубокая автоматизация, кампании «под ключ».
Так выглядит пост, если Фейсбук не находит картинку
Картинка взята из шапки — она не соответствует формату и была обрезана, а в анонс «вытащили» фрагмент из рекламного текста рассылки
Некорректная или рандомная картинка, отсутствующее или нерелевантное материалу описание — этого можно избежать с внедрением на сайт Open Graph.
Протокол изначально был создан для Facebook, но сейчас его также используют ВКонтакте, Pinterest, Twitter, LinkedIn, Telegram, мессенджеры (WhatsApp, Viber, Slack) и др.
Разметка Open Graph повышает привлекательность вашего контента в соцсетях, а значит — это один из пунктов в рамках стратегии SMM-продвижения и контент-маркетинга. Кроме того, протокол позволяет создавать блоки рекомендуемого контента в Google AdSense, если вы используете эту платформу для монетизации сайта:
Синтаксис разметки
Официальная информация от разработчиков протокола, его описание, руководство по использованию и ссылки на реализации — на ruogp. me (на русском языке). В более сжатой и доступной форме все это изложено в справке Яндекс.Вебмастера.
Есть и отдельные руководства для:
Инструменты PromoPult для рекламы в соцсетях: все каналы в одном кабинете, минимальные бюджеты, все делают штатные специалисты системы, вам нужно только дать вводные.
Основные метатеги
Теги Open Graph объясняют соцсетям, какая информация содержится на странице. Корректно заполненные поля позволят сформировать привлекательный вид поста в ленте.
- og:title — заголовок материала.
<meta property="og:title" content="Как быстро и бесплатно сделать инфографику: 4 онлайн-сервиса с доступным функционалом"/>
- og:image — url-адрес изображения, которое будет в анонсе (его может не быть на самой странице материала).
<meta property="og:image" content="https://blog.promopult.ru/wp-content/uploads/2019/02/checklist01-1200x630.png"/>
У Twitter, Facebook и ВКонтакте разные требования к размеру изображений. Чтобы картинка в посте отобразилась корректно, можно прописать параметры для каждой соцсети отдельно, используя дополнительные теги vk:image, fb:image, twitter:image — каждая соцсеть в первую очередь обработает «свой» тег. Минус такого решения — придется подготовить отдельную картинку под каждую соцсеть.
Второй вариант — воспользоваться дополнительными метаданными width (ширина в пикселях) и height (высота в пикселях), которые позволят задать один размер для всех соцсетей. В примере указан размер изображения для Facebook. Другие соцсети будут обрезать эту картин
Протокол Open Graph
Протокол Open Graph позволяет любой веб-странице стать богатый объект в социальном графе. Например, это используется в Facebook, чтобы разрешить любая веб-страница должна иметь те же функции, что и любой другой объект на Facebook.
Хотя существует множество различных технологий и схем, которые можно комбинировать вместе не существует единой технологии, которая предоставляет достаточно информации для богато представить любую веб-страницу в социальной сети. Протокол Open Graph основывается на этих существующих технологиях и дает разработчикам возможность осуществлять.Простота разработчика — ключевая цель протокола Open Graph, который сообщил многие решения технического дизайна.
Чтобы превратить ваши веб-страницы в графические объекты, вам необходимо добавить базовые метаданные в
твоя страница. Мы основали первоначальную версию протокола на
RDFa, что означает, что вы разместите
дополнительные
тегов в
вашей веб-страницы. Четыре необходимых
свойства для каждой страницы:
-
og: title
— Заголовок вашего объекта, как он должен отображаться на графике, е.г., «Скала». -
og: type
— Тип вашего объекта, например, «video.movie». В зависимости от указанного вами типа, могут потребоваться и другие свойства. -
og: image
— URL-адрес изображения, который должен представлять ваш объект в график. -
og: url
— Канонический URL вашего объекта, который будет использоваться в качестве его постоянный идентификатор на графике, например, «https://www. imdb.com/title/tt0117500/».
В качестве примера ниже представлена разметка протокола Open Graph для The Rock на IMDB:
Скала (1996)
...
...
Дополнительные метаданные
Следующие свойства являются необязательными для любого объекта и обычно рекомендуется:
-
og: audio
— URL-адрес аудиофайла, сопровождающего этот объект. -
og: description
— Описание вашего объекта от одного до двух предложений. -
og: определитель
— Слово, которое появляется перед заголовком этого объекта в предложении. Перечисление (a, an, the, «», auto). Еслиавто
— это выбрано, потребитель ваших данных должен выбрать между «a» или «an». По умолчанию «» (пусто). -
og: locale
— языковой стандарт, в котором размечены эти теги. Форматlanguage_TERRITORY
. По умолчаниюen_US
. -
og: locale: alternate
— Массив других локалей на этой странице доступный калибр. -
og: site_name
— Если ваш объект является частью более крупного веб-сайта, имя, которое должен отображаться для всего сайта. например, «IMDb». -
og: video
— URL-адрес видеофайла, дополняющего этот объект.
Например (разрыв строки исключительно для отображения):
ru / bond / trailer.swf "/>
Схема RDF (в Turtle) можно найти на ogp.me/ns.
К некоторым свойствам могут быть прикреплены дополнительные метаданные.
Они указываются так же, как и другие метаданные со свойством ,
и содержит
, но свойство
будет иметь дополнительные :
.
Свойство og: image
имеет несколько дополнительных структурированных свойств:
-
og: image: url
— идентичноog: image
. -
og: image: secure_url
— Альтернативный URL-адрес для использования, если веб-страница требует HTTPS. -
og: image: type
— Тип MIME для этого образа. -
og: image: width
— Количество пикселей в ширину. -
og: image: height
— Количество пикселей в высоту. -
og: image: alt
— Описание того, что на изображении (не подпись). Если на странице указано og: image, должно быть указаноog: image: alt
.
Пример полного изображения:
Тег og: video
имеет те же теги, что и og: image
. Вот пример:
Тег og: audio
имеет только первые 3 доступных свойства
(поскольку размер не имеет смысла для звука):
Если тег может иметь несколько значений, просто поместите несколько версий одного и того же
тег на вашей странице. Дается первый тег (сверху вниз)
предпочтение во время конфликтов.
Разместите структурированные свойства после объявления их корневого тега. Всякий раз, когда анализируется другой корневой элемент, это структурированное свойство считается выполненным, и начинается еще один.
Например:
означает, что на этой странице 3 изображения, первое изображение 300x300
, среднее
одна имеет неопределенные размеры, а последняя имеет высоту 1000
пикселей.
Для того, чтобы ваш объект был представлен на графике, вам необходимо
укажите его тип. Это делается с помощью свойства og: type
:
Когда сообщество соглашается со схемой для типа, он добавляется в список глобальных типов.Все остальные объекты в системе типов КЮРИ формы
Глобальные типы сгруппированы по вертикали. У каждой вертикали своя
собственное пространство имен. Значения og: type
для пространства имен всегда имеют префикс
пространство имен, а затем точку.
Это сделано для уменьшения путаницы с определяемыми пользователем типами с пространством имен, которые всегда
в них есть двоеточия.
Музыка
og: введите
значений:
музыка. Песня
-
музыка: продолжительность
— целое число> = 1 — продолжительность песни в секундах. -
музыка: альбом
— музыкальный массив альбомов — Альбом, из которого эта песня. -
музыка: альбом: диск
— целое число> = 1 — На каком диске альбома находится эта песня. -
музыка: альбом: трек
— целое число> = 1 — Какой трек это песня? -
музыка: музыкант
— профильный массив — Музыкант, написавший эту песню.
музыкальный альбом
-
музыка: song
— music.song — Песня из этого альбома. -
музыка: песня: диск
— целое число> = 1 — То же, что имузыка: альбом: диск
, но наоборот. -
музыка: песня: трек
— целое число> = 1 — То же, что имузыка: альбом: трек
, но наоборот. -
музыка: музыкант
— профиль — Музыкант, написавший эту песню. -
музыка: release_date
— datetime — Дата выхода альбома.
музыка.плейлист
-
музыка: песня
— идентична тем, что на music.album -
музыка: песня: диск
-
музыка: песня: трек
-
музыка: создатель
— профиль — Создатель этого плейлиста.
музыкальная радиостанция
-
музыка: создатель
— профиль — Создатель этой станции.
Видео
og: введите
значений:
видео.фильм
-
видео: актер
— массив профилей — Актеры в кино. -
видео: актер: роль
— строка — роль, которую они сыграли. -
видео: директор
— массив профилей — Режиссеры фильма. -
видео: писатель
— массив профилей — Сценаристы фильма. -
видео: продолжительность
— целое число> = 1 — Продолжительность фильма в секундах. -
видео: release_date
— datetime — Дата выхода фильма в прокат. -
видео: тег
— строковый массив — Отметьте слова, связанные с этим фильмом.
эпизод видео
-
видео: актер
— идентично видео. Фильм -
видео: актер: роль
-
видео: директор
-
видео: писатель
-
видео: продолжительность
-
видео: release_date
-
видео: тег
-
видео: серия
— видео.ТВ шоу — К какому сериалу относится эта серия.
video.tv_show
Многосерийное телешоу. Метаданные идентичны video.movie.
видео. Другое
Видео, не относящееся ни к какой другой категории. Метаданные идентичны video.movie.
Нет по вертикали
Это глобально определенные объекты, которые просто не вписываются в вертикаль, а тем не менее, они широко используются и согласованы.
og: введите
значений:
, статья
— URI пространства имен: https: // ogp.я / нс / артикул №
-
статья: published_time
— datetime — Когда статья была впервые опубликована. -
статья: modified_time
— datetime — Когда статья была изменена в последний раз. -
статья: expiration_time
— datetime — Когда статья устарела после. -
статья: автор
— массив профилей — Авторы статьи. -
статья: раздел
— строка — Имя раздела высокого уровня.Например. Технологии -
статья: тег
— строковый массив — Отметьте слова, связанные с этой статьей.
книга
— URI пространства имен: https://ogp.me/ns/book#
-
книга: автор
— массив профилей — Кто написал эту книгу. -
книга: исбн
— строка — ISBN -
книга: release_date
— datetime — дата выпуска книги. -
книга: тег
— строковый массив — Отметьте слова, связанные с этой книгой.
профиль
— URI пространства имен: https://ogp.me/ns/profile#
-
profile: first_name
— string — Имя, обычно присваиваемое человеку родителями или самими избранными. -
profile: last_name
— string — Имя, унаследованное от семьи или брака, и под которым человек широко известен. -
профиль: имя пользователя
— строка — короткая уникальная строка для их идентификации. -
профиль: пол
— enum (мужской, женский) — Их пол.
веб-сайт
— URI пространства имен: https://ogp.me/ns/website#
Никаких дополнительных свойств, кроме основных.
Любая неразмеченная веб-страница должна рассматриваться как веб-сайт og: type
.
Следующие типы используются при определении атрибутов в протоколе Open Graph.
Тип | Описание | Литералы |
---|---|---|
логический | Логическое значение представляет истинное или ложное значение | истина, ложь, 1, 0 |
DateTime | DateTime представляет временное значение, состоящее из даты (год, месяц, день) и дополнительный компонент времени (часы, минуты) | ISO 8601 |
Enum | Тип, состоящий из ограниченного набора постоянных строковых значений (члены перечисления). | Строковое значение, которое является членом перечисления |
Поплавок | 64-битное число с плавающей запятой со знаком | Все литералы, соответствующие следующим форматам: 1.234 |
Целое число | 32-разрядное целое число со знаком. Во многих языках целые числа более 32 бит становятся float, поэтому мы ограничиваем протокол Open Graph для облегчения многоязычного использования. | Все литералы, соответствующие следующим форматам: 1234 |
Строка | Последовательность символов Юникода | Все литералы, состоящие из символов Юникода без escape-символов |
URL | Последовательность символов Юникода, определяющая Интернет-ресурс. | Все допустимые URL-адреса, использующие протоколы https: // или https: // |
Вы можете обсудить протокол Open Graph в в группе Facebook или на список рассылки разработчиков. В настоящее время он используется Facebook (см. Их документацию), Google (см. Их документацию) и микси. Его публикуют IMDb, Microsoft, NHL, Posterous, Rotten Tomatoes, TIME, Yelp и многие другие.
Сообщество открытого исходного кода разработало ряд парсеров и публикаций. инструменты.Сообщите группе в Facebook, если вы тоже создали что-то классное!
Проверить страницы на SEO и техническую оптимизацию
- Дом
- Проверить страницы на SEO и техническую оптимизацию
OGmeta — это сервис для автоматической проверки и анализа страниц веб-сайта на соответствие рекомендациям по поисковой оптимизации ( SEO ), юзабилити ( UX ) и техническому дизайну .Вам будет представлено 6 бесплатных инструментов для анализа ваших страниц. Каждый из этих онлайн-сервисов не только отображает технический контент, но также предоставляет индивидуальных рекомендаций по улучшению сайта с точки зрения тестирования.
Открыть график
Проверяйте страницы на соответствие протоколу Open Graph.Рекомендации по заполнению важных тегов и предварительному просмотру сниппета. Проверьте свой сайт на соответствие микромаркировке. Рейтинг пользователейИзображений
Как за 1 минуту проверить, заполнены ли атрибуты ALT и TITLE изображений на сайте? Проверьте свой сайт с помощью службы автоматического анализа изображений на HTML-странице. Рейтинг пользователейМЕТА-теги
Анализ метаданных страницы на ✔ правильность заполнения и соответствие рекомендованным ★ параметрам SEO: длина, повторы, техническое соответствие.Проверьте за 1 минуту, насколько успешен ваш сайт! Рейтинг пользователейSEO-структура
Автоматическая ► проверка структуры HTML-страницы на правильность и иерархичность: оценка заголовков h2-H6 и основных элементов SEO по длине и содержанию.Проверьте ✔ свой сайт за 1 минуту! Рейтинг пользователейHTTP-заголовки
Автоматическая проверка ответа сервера онлайн: коды состояния и заголовки HTTP.Проведите в 1 клик анализ сервера вашего сайта. Рейтинг пользователейWhois-информация
Сервис проверки WHOIS информации о домене предоставляет подробную информацию о серверах хостинга, владельце, сроке действия и других параметрах регистрации сайта. Рейтинг пользователейwp-admin / includes / class-plugin-installer-skin.php: Plugin_Installer_Skin :: do_overwrite () | Проверьте, можно ли перезаписать плагин, и выведите HTML для перезаписи плагина при загрузке. |
wp-admin / includes / class-theme-installer-skin.php: Theme_Installer_Skin :: do_overwrite () | Проверьте, можно ли перезаписать тему, и выведите HTML-код для перезаписи темы при загрузке. |
wp-includes / class-wp-recovery-mode-email-service.php: WP_Recovery_Mode_Email_Service :: get_debug () | Возвращает отладочную информацию в удобном формате. |
wp-includes / functions.php: is_wp_version_compatible () | Проверяет совместимость с текущей версией WordPress. |
wp-admin / включает / класс-wp-debug-data.php: WP_Debug_Data :: debug_data () | Статическая функция для генерации данных отладки сайта при необходимости. |
wp-admin / включает / класс-wp-site-health.php: WP_Site_Health :: get_test_wordpress_version () | Тестирует версию WordPress и выводит ее. |
wp-admin / включает / класс-wp-site-health.php: WP_Site_Health :: get_test_https_status () | Проверьте, обслуживает ли ваш сайт контент через HTTPS. |
wp-admin / включает / плагин.php: validate_plugin_requirements () | Проверяет требования к плагину для версии WordPress и версии PHP. |
wp-admin / includes / class-wp-privacy-policy-content.php: WP_Privacy_Policy_Content :: get_default_content () | Вернуть содержимое политики конфиденциальности, предлагаемое по умолчанию. |
wp-admin / включает / конфиденциальность-инструменты.php: wp_privacy_generate_personal_data_export_file () | Создайте файл экспорта личных данных. |
wp-includes / widgets / class-wp-widget-text.php: WP_Widget_Text :: is_legacy_instance () | Определяет, является ли данный экземпляр устаревшим и должен ли он обходиться с помощью TinyMCE. |
wp-включает / класс-wp-редактор.php: _WP_Editors :: default_settings () | Возвращает настройки TinyMCE по умолчанию. |
wp-includes / customize / class-wp-customize-nav-menu-item-setting.php: WP_Customize_Nav_Menu_Item_Setting :: get_original_title () | Получить оригинальное название. |
wp-includes / embed.php: the_embed_site_title () | Печатает необходимую разметку для заголовка сайта во встраиваемом шаблоне. |
wp-includes / general-template.php: get_custom_logo () | Возвращает собственный логотип, связанный с домашней страницей, если тема не поддерживает удаление ссылки на домашней странице. |
wp-includes / embed.php: get_post_embed_html () | Получает код встраивания для определенного сообщения. |
wp-включает / встраивать.php: get_oembed_response_data () | Извлекает данные ответа oEmbed для заданного сообщения. |
wp-includes / theme.php: get_header_image_tag () | Создает разметку тега изображения для пользовательского изображения заголовка. |
wp-includes / general-template.php: wp_get_document_title () | Возвращает заголовок документа для текущей страницы. |
wp-includes / general-template.php: get_language_attributes () | Получает языковые атрибуты для тега «html». |
wp-includes / class-wp-customize-nav-menus.php: WP_Customize_Nav_Menus :: search_available_items_query () | Выполняет почтовые запросы для поиска доступных элементов. |
wp-включает / класс-wp-customize-nav-menus.php: WP_Customize_Nav_Menus :: customize_register () | Добавьте настройки и элементы управления настройщика. |
wp-includes / class-wp-customize-nav-menus.php: WP_Customize_Nav_Menus :: load_available_items_query () | Выполняет запросы post_type и таксономии для загрузки доступных пунктов меню. |
wp-includes / customize / class-wp-customize-media-control.php: WP_Customize_Media_Control :: to_json () | Обновите параметры, переданные в JavaScript через JSON. |
wp-admin / includes / upgrade.php: wp_install_maybe_enable_pretty_permalinks () | Может быть, включить красивые постоянные ссылки при установке. |
wp-includes / class-wp-customize-panel.php: WP_Customize_Panel :: json () | Соберите параметры, переданные клиентскому JavaScript через JSON. |
wp-includes / class-wp-customize-section.php: WP_Customize_Section :: json () | Соберите параметры, переданные клиентскому JavaScript через JSON. |
wp-includes / media.php: wpview_media_sandbox_styles () | Возвращает URL-адреса файлов CSS, используемых в мультимедийном представлении TinyMCE iframe-sandbox. |
wp-логин.php: login_footer () | Выводит нижний колонтитул для страницы входа. |
wp-login.php: login_header () | Вывести заголовок страницы входа. |
wp-admin / включает / класс-wp-automatic-updater.php: WP_Automatic_Updater :: run () | Запускает процесс фонового обновления, просматривая все ожидающие обновления. |
wp-admin / включает / класс-wp-automatic-updater.php: WP_Automatic_Updater :: after_core_update () | Если мы пытались выполнить обновление ядра, проверьте, следует ли отправлять электронное письмо и нужно ли избегать обработки будущих обновлений. |
wp-admin / включает / класс-wp-automatic-updater.php: WP_Automatic_Updater :: send_email () | Отправляет сообщение по электронной почте после завершения или сбоя фонового обновления ядра. |
wp-admin / включает / класс-wp-automatic-updater.php: WP_Automatic_Updater :: send_debug_email () | Подготавливает и отправляет по электронной почте полный журнал результатов фонового обновления, полезный для отладки и компьютерных фанатов. |
wp-admin / включает / export.php: export_wp () | Создает файл экспорта WXR для загрузки. |
wp-admin / включает / ms.php: _access_denied_splash () | Отображает сообщение об отказе в доступе, когда пользователь пытается просмотреть панель управления сайта, к которой у него нет доступа. |
wp-admin / includes / update.php: core_update_footer () | |
wp-admin / includes / update.php: update_right_now_message () | Отображает версию WordPress и активную тему в виджете «Краткий обзор» панели инструментов. |
wp-admin / includes / plugin-install.php: install_plugin_information () | Отображение информации о плагине в форме диалогового окна. |
wp-admin / includes / class-wp-plugin-install-list-table.php: WP_Plugin_Install_List_Table :: display_rows () | |
wp-admin / включает / класс-wp-plugin-install-list-table.php: WP_Plugin_Install_List_Table :: prepare_items () | |
wp-admin / включает / post.php: _fix_attachment_links () | Заменить href привязанных анкеров актуальными постоянными ссылками. |
wp-admin / включает / user.php: admin_created_user_email () | |
wp-admin / update-core.php: list_core_update () | Список доступных основных обновлений. |
wp-admin / update-core.php: core_upgrade_preamble () | Отображение обновления WordPress для загрузки последней версии или автоматического обновления. |
wp-admin / update-core.php: list_plugin_updates () | Показать форму модулей обновления. |
wp-includes / pluggable.php: wp_mail () | Отправляет электронное письмо, аналогично функции почты PHP. |
wp-includes / general-template.php: wp_admin_css_uri () | Отображает URL-адрес файла CSS администратора WordPress. |
wp-includes / general-template.php: get_the_generator () | Создает генератор XML или комментариев для RSS, ATOM и т. Д. |
wp-includes / general-template.php: feed_links () | Показать ссылки на общие каналы. |
wp-includes / general-template.php: feed_links_extra () | Отображение ссылок на дополнительные каналы, такие как каналы категорий. |
wp-включает / общий-шаблон.php: bloginfo () | Отображает информацию о текущем сайте. |
wp-includes / deprecated.php: get_index_rel_link () | Получить реляционную ссылку индекса сайта. |
wp-includes / class-wp.php: WP :: handle_404 () | Установите заголовки для 404, если для запрошенного URL ничего не найдено. |
wp-includes / class-http.php: WP_Http :: request () | Отправить HTTP-запрос на URI. |
wp-includes / functions.php: wp_nonce_ays () | Отобразите сообщение «Вы уверены?», Чтобы подтвердить предпринимаемое действие. |
wp-includes / functions.php: cache_javascript_headers () | Установите заголовки для кеширования на 10 дней с типом содержимого JavaScript. |
wp-includes / widgets / class-wp-widget-meta.php: WP_Widget_Meta :: widget () | Выводит содержимое для текущего экземпляра виджета Meta. |
wp-includes / link-template.php: get_pagenum_link () | Извлекает ссылку для номера страницы. |
wp-includes / admin-bar.php: wp_admin_bar_site_menu () | Добавьте меню «Имя сайта». |
wp-includes / feed.php: html_type_rss () | Отобразить тип HTML в соответствии с настройками блога. |
wp-includes / feed.php: get_bloginfo_rss () | RSS-контейнер для функции bloginfo. |
wp-включает / медиа.php: wp_prepare_attachment_for_js () | Подготавливает объект сообщения вложения для JS, где он, как ожидается, будет закодирован в формате JSON и вписан в модель вложения. |
wp-includes / ms-functions.php: filter_SSL () | Форматирует URL-адрес для использования https. |
wp-includes / class-wp-xmlrpc-server.php: wp_xmlrpc_server :: pingback_ping () | Получает пингбэк и регистрирует его. |
wp-includes / class-wp-xmlrpc-server.php: wp_xmlrpc_server :: initialise_blog_option_info () | Настройка свойства параметров блога. |
wp-includes / class-wp-customize-widgets.php: WP_Customize_Widgets :: enqueue_scripts () | Ставит в очередь скрипты и стили для панели настройщика и экспортирует данные в JavaScript. |
wp-includes / script-loader.php: wp_default_styles () | Назначьте стили по умолчанию для объекта $ styles. |
wp-includes / script-loader.php: wp_default_scripts () | Зарегистрируйте все скрипты WordPress. |
wp-includes / comment.php: weblog_ping () | Отправить пингбэк. |
wp-includes / comment.php: пингбэк () | Пингует ссылки, найденные в сообщении. |
Информация о сайте AD DS для клиентов AD CS и PKI — статьи TechNet — США (английский)
↑ Вернуться к началу
Windows®8 и Windows Server® 2012
Службы сертификатовв Windows® 8 и Windows Server® 2012 можно настроить для использования Сайты доменных служб Active Directory (AD DS) для оптимизации клиентских запросов служб сертификатов.Эта функция не включена по умолчанию центром сертификации (ЦС).
↑ Вернуться к началу
Чтобы включить поддержку сайта служб сертификатов, атрибут msPKI-Site-Name должен быть заполнен для объекта центра сертификации (CA) в Enrollment Services контейнер доменных служб Active Directory (AD DS). В Enrollment Services Контейнер находится в контейнере Configuration AD DS в разделе CN = Public Key Services, CN = Services, CN = Configuration, DC =.Например, на следующем рисунке показан ЦС с именем CPANDL-ECA1 имеет значение атрибута msPKI-Site-Name Основной .
Чтобы установить значение атрибута msPKI-Site-Name в CA, вы можете выполнить следующую команду:
Вы можете увидеть результаты этой команды на следующем рисунке при запуске в домене CPANDL AD DS с двумя центрами сертификации Enterprise.certutil -f -setcasites набор
Команда перечисляет все центры сертификации на предприятии с помощью API служб каталогов. Членство на сайте CA проверяется на предмет их текущего членства на сайте. Затем объекты CA в AD DS настраиваются для имени сайта, соответствующего их сетевой конфигурации.
Чтобы установить для атрибута msPKI-Site-Name для одного объекта CA в AD DS определенное имя, можно выполнить следующую команду:
Вы можете увидеть конфигурацию центра сертификации, выполнив следующую команду:certutil -setcasites -f -config ""
certutil | findstr «Конфиг»На следующем рисунке показана конфигурация CPANDL-CA1.cpandl.com \ CPANDL-ECA1 с названием сайта Branch , хотя обнаруженное имя — Main .
Выполнение команды certutil -setcasites отображает и исправляет конфликт имен, как показано на следующем рисунке.
↑ Вернуться к началу
При регистрации на сертификат на основе шаблона клиент запрашивает в AD DS шаблон и объекты CA. Затем клиент использует Вызов функции DsGetSiteName для получения собственного имени сайта.Для центров сертификации с уже установленным атрибутом msPKI-Site-Name клиент службы сертификации определяет стоимость связи сайта AD DS с клиентского сайта на каждый целевой сайт CA. А Для этого используется вызов функции DsQuerySitesByCost. Клиент службы сертификатов использует возвращенные затраты на сайт для определения приоритета центров сертификации, которые предоставляют клиенту разрешение на регистрацию и поддерживают соответствующий шаблон сертификата. Выше ЦС затрат пытается связаться с ними последними (только если прежние ЦС недоступны).
Примечание. ЦС может не возвращать стоимость сайта, если атрибут msPKI-Site-Name не установлен в ЦС. Если для отдельного ЦС стоимость сайта недоступна, то этому ЦС назначается максимально возможная стоимость.
Следующие утверждения относятся к способу, которым клиент службы сертификации обращается к соответствующему ЦС:
- Каждый набор центров сертификации с одинаковой стоимостью будет упорядочен в пределах этого набора случайным образом для равномерного распределения нагрузки.
- Попытка зачисления осуществляется через центры сертификации с наименьшей стоимостью (наименьшее числовое значение стоимости сайта).
- Если связаться с этим ЦС не удается, пробуются следующие ЦС с более высокой стоимостью.
- Если ни один из центров сертификации (который разрешает регистрацию и публикует соответствующий шаблон) не доступен или не отвечает, запрос на регистрацию не выполняется.
- Поскольку все ЦС предприятия ожидают вызовов DCOM и используют учетные данные Kerberos, тип учетных данных, требуемых ЦС, не влияет на порядок ЦС.
- Ни одна из операций по обработке затрат на сайте клиента и заказу CA не приводит к контакту с каким-либо CA; выполняются только запросы AD DS и запросы стоимости сайта AD DS.
- Если на клиенте не включен сбор стоимости сайта, центры сертификации будут упорядочены случайным образом.
Когда и клиенты, и центры сертификации настроены для поддержки сайта AD DS, вы можете использовать certutil -ping , чтобы проверить стоимость сайта. Например, команда certutil, показанная на следующем рисунке: certutil -ping «CPANDL-CA1.cpandl.com, CPANDL-CA2.cpandl.com»
Что касается поддержки этой функции (осведомленность о сайте обеспечивается путем указания значения msPKI-Site-Name в объектах pKIEnrollmentService) со стороны клиента, в Фактически, он включен по умолчанию на всех клиентах под управлением Windows 8+, и вам не нужно ничего делать дополнительно.
Произошла некоторая путаница. В некоторых статьях указывалось, что необходимо выполнить следующую команду, чтобы установить EnrollFlags = 0x2 для поддержки этого, что неточно.
certutil -setreg Enroll \ EnrollFlags 2
На самом деле это применимо только к клиентам Windows 7 / Windows Vista. Кроме того, этот флаг включает следующее поведение на этих клиентах:
1. Получите список корпоративных серверов CA, запросив все объекты pKIEnrollmentService в CN = Enrollment Services, CN = Public Key Services, CN = Services, CN = Configuration ,…
2. Для каждого сервера CA в списке запросите его dNSHostName
3. Вызывая dsgetsitename (где dNSHostName является синтаксисом ввода), клиент определяет имя сайта для каждого сервера CA.
4. Затем клиенты определяют, на какой сервер CA отправлять запросы, исходя из стоимости.
Очевидно, что это поведение не зависит от msPKI-Site-Name и представляет собой другой механизм по сравнению с тем, что мы видим на клиентах Windows 8+.
↑ Вернуться к началу
python — как получить имя сайта в шаблоне django?
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…
получить имя сайта из URL-адреса в python
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Реклама Обратитесь к разработчикам и технологам со всего мира
- О компании
Загрузка…