SEO
1347534750

Продвинутое использование rel=”canonical”

Речь в статье пойдет о том, как использовать rel=”canonical” не только для Html файлов, но и для других типов файлов, таких как, например, pdf. Кстати Google больше не рекомендует использовать robots.txt для ограничения индексации сайта, а рекомендует помечать дублирующийся контент с помощью rel=”canonical”:

При написании аудита сайта, если имеет место дублирование контента страниц сайта в файлах формата pdf, doc и т.п., я рекомендую использовать HTTP-заголовок rel=”canonical” вместо того, чтобы закрывать данные файлы в robots.txt. Сейчас вебмастера используют в основном rel=”canonical” для html страниц. Однако вот список типов файлов, которые индексирует поисковая система Google:

  • TeX/LaTeX (.tex)
  • Текст (.txt, .text и другие расширения файлов)
  • Adobe Flash (.swf)
  • Adobe PDF (.pdf)
  • Adobe PostScript (.ps)
  • Autodesk Design Web Format (.dwf)
  • Google Планета Земля (.kml, .kmz)
  • GPS eXchange Format (.gpx)
  • Hancom Hanword (.hwp)
  • HTML (.htm, .html и другие расширения файлов)
  • Microsoft Excel (.xls, .xlsx)
  • Microsoft PowerPoint (.ppt, .pptx)
  • Microsoft Word (.doc, .docx)
  • Презентация OpenOffice (.odp)
  • Электронная таблица OpenOffice (.ods)
  • Текст OpenOffice (.odt)
  • Расширенный текстовый формат (.rtf, .wri)
  • Масштабируемая векторная графика (.svg)

В том числе исходный код стандартных языков программирования:

  • Исходный код Basic (.bas)
  • Исходный код C/C++ (.c, .cc, .cpp, .cxx, .h, .hpp)
  • Исходный код C# (.cs)
  • Исходный код Java (.java)
  • Исходный код Perl (.pl)
  • Исходный код Python (.py)
  • Язык разметки для беспроводных устройств (.wml, .wap)
  • XML (.xml)

Для более качественной оптимизации сайтов вебмастерам необходимо научиться использовать HTTP-заголовок rel=”canonical”. Далее будут рассмотрены несколько возможных вариантов передачи  rel=”canonical” через HTTP-заголовки.

HTTP-заголовки с использованием php (для html файлов)

HTTP-заголовок rel=”canonical” можно легко передать с использованием php. Для этого необходимо разместить в документе следующий код:

HTTP-заголовок с помощью .htaccess (для любых типов файлов)

HTTP-заголовки rel=”canonical” можно легко передать для любых типов файлов с помощью файла .htaccess. Код передачи HTTP-заголовка rel=”canonical”: При написании имени файла можно использовать следующие спецсимволы: ? - любой символ * - любая последовательность символов. Также можно использовать полноценные регулярные выражения, но перед указанием регулярного выражения необходимо поставить символ ~: Подробнее — httpd.apache.org

HTTP-заголовок rel="canonical" для любых файлов с помощью PHP

Размещаем в .htaccess следующую строку:

RewriteRule ^(.+)\.pdf /pdf.php?file=$1 [L]

В данном примере речь будет идти о pdf файлах.  Модифицировать код для других типов файлов не составит труда. Создаем файл pdf.php со следующим кодом:

$path = $_SERVER['DOCUMENT_ROOT'] + $_GET['file'] . '.pdf';if(file_exists($path)) {header('Content-Type: application/pdf');header('Link: <https://www.yoursite.com/>; rel=”canonical”');readfile($path);}else {header('HTTP/1.0 404 Not Found');include($_SERVER['DOCUMENT_ROOT'] . '404.php');}
В результате, если pdf файл существует, то будет отдаваться заголовок rel=”canonical”, если нет, то отдаваться 404 страница.

Как проверять HTTP-заголовки сервера?

Лучше всего это делать с помощью консоли браузера Chrome:
При написании статьи использовался материал Moz.
Узнайте больше
6
6
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.