Превращаем динамичные ссылки в хорошо продвигаемые статические ссылки
Так называемые “SEO-friendly” ссылки созданы для того, чтобы удовлетворить нужды поисковиков и пользователей. В мире, где правят соцсети, чем проще запомнить ссылку и поделиться ею, тем лучше. Идеальная ссылка должна быть короткой, удобочитаемой и понятной. Такой интернет-адрес помогает брендам запомниться.
Два типа ссылок
Ссылки можно разделить на два типа: статические и динамические.
Статические ссылки не принимают параметры строки и не генерируются динамически. Это означает, что единственный способ изменить содержимое веб-страницы — изменить HTML-код сайта.
Примеры статических ссылок:
https://www.mydomain.com/articles/my-first-article
https://www.mydomain.com/en/articles/1/my-first-article
Динамические ссылки содержат строку запроса, которая является частью URL-адреса, присваивающего значения указанным параметрам. Эти параметры передаются напрямую на сервер и используются для динамического извлечения контента из базы данных. Содержимое, которое будет отображаться на сайте, зависит от результатов запроса и не требует изменения HTML-кода страницы. Такие сайты действуют как шаблоны для контента.
Примеры динамических ссылок:
https://www.mydomain.com/article.php?id=1
https://www.mydomain.com/articles/page.php?article_id=1&lang=en
Как SEO влияет на ссылки
Статические ссылки, как правило, получают более высокий рейтинг на странице результатов поиска. Такое поведение основано на предположении, что поисковым системам тяжелее сканировать и анализировать динамические URL-адреса, которые имеют в своём составе передаваемые параметры.
Кроме того, статические ссылки лучше справляются со своей задачей с точки зрения кликабельности. Пользователи могут с лёгкостью запомнить, понять и прочитать такую ссылку, и если статический адрес страницы совпадает с описанием или названием сайта, они, скорее всего, нажмут на него.
Ещё один важный аспект статических ссылок заключается в том, что такие адреса (в отличие от динамических ссылок) легче передавать голосом и делиться ими. Есть и много других веских причин, почему статические ссылки лучше динамических с точки зрения SEO. Давайте рассмотрим несколько примеров.
- С определённой точки зрения динамические URL-адреса не существуют для поисковиков, потому что они сканируют интернет путём прохода по ссылкам, а не путём заполнения форм для генерации ссылки.
- Динамические URL-адреса могут состоять из нескольких параметров, и если разные версии сайта проиндексируются, то это может привести к дублированию контента, что не очень хорошо с точки зрения SEO.
- Динамические ссылки выглядят как мешанина из букв, они сбивают с толку, что приводит к низким результатам кликабельности на странице поисковых запросов.
- Динамические ссылки часто не подкрепляются ключевыми словами, что не очень хорошо в семантическом плане.
- Параметры URL-адреса делают динамические ссылки длиннее статических, а длинные адреса обычно индексируются дольше, чем короткие.
Как преобразовать динамические URL-адреса в статические
Если сайт обслуживается веб-сервером Apache, такого преобразования легко можно добиться путём добавления нескольких особых “правил перезаписи” к файлу .htaccess.
Параметры внутри файлов .php будут работать как обычно. Всё, что будет нужно изменить в коде, — это динамические ссылки, которые надо будет заменить пользовательскими статическими URL-адресами. Прежде всего, убедитесь, что у вас уже есть файл .htaccess в корневой папке сайта, в ином случае создайте новый.
Пример №1
Допустим, мы хотим превратить ссылку вида https://www.mydomain.com/articles.php?id=1
в https://www.mydomain.com/articles/my-first-article
.
Чтобы сделать это, добавим в файл .htaccess такой код:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^articles/my-first-article/?$ articles/id.php?id=1
Пример №2
Теперь наша цель заключается в том, чтобы преобразовать эту ссылку https://www.mydomain.com/articles/page.php?article_id=1&lang=en
в адрес https://www.mydomain.com/en/articles/1/my-first-article
.
Чтобы добиться такого результата, в файл .htaccess следует добавить следующие строки кода:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.+)/articles/([0-9]+)/my-first-article/?$ articles/page.php?article_id=$2&lang=$1
Имейте в виду, что теперь страница article.php
будет загружаться без JS-скриптов, CSS-вставок и картинок с относительным путём вставки. Это происходит потому, что поиск всех этих материалов происходит из папки $1
, которой больше не существует. Это можно исправить, если добавить элемент <base>
в секцию HTML-документа <head>
, как показано ниже:
<base href="/articles/">
Поместите путь к папке, в которой находится исходный файл .php, внутрь атрибута href
. Он будет использоваться как основной адрес для всех относительных ссылок на странице.
Бонус
Найти подходящее “правило перезаписи” может быть довольно трудно, особенно для новичков. Поэтому можно воспользоваться такими инструментами:
- https://www.webconfs.com/web-tools/url-rewriting-tool/ автоматически генерирует несколько файлов .htaccess, чтобы преобразовать предоставленные динамические ссылки на ссылки статического типа.
- https://htaccess.madewithlove.be/ позволяет пользователю протестировать .htaccess файл в режиме онлайн без риска поломать содержимое сайта.
Заключение
Статические URL-адреса проще индексируются поисковиками, а также их вид более удобен пользователям. По этой причине стоит избегать использования динамических ссылок. Преобразование статических ссылок в динамические не составляет труда, прямо как было показано выше. Добавив особые правила перезаписи, можно с лёгкостью заменить все динамические URL-адреса на более удобные и читаемые статические ссылки.
Читайте также:
- Об Apache Spark - интересно и со вкусом!
- Apache Spark: гайд для новичков
- Сравнение архитектурных стилей API: SOAP vs REST vs GraphQL vs RPC
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Antonello Zanini: Why You Should Avoid Dynamic URLs