Почему стоит избегать динамических ссылок

Превращаем динамичные ссылки в хорошо продвигаемые статические ссылки

Так называемые “SEO-friendly” ссылки созданы для того, чтобы удовлетворить нужды поисковиков и пользователей. В мире, где правят соцсети, чем проще запомнить ссылку и поделиться ею, тем лучше. Идеальная ссылка должна быть короткой, удобочитаемой и понятной. Такой интернет-адрес помогает брендам запомниться.

Два типа ссылок

Ссылки можно разделить на два типа: статические и динамические.

Статические ссылки не принимают параметры строки и не генерируются динамически. Это означает, что единственный способ изменить содержимое веб-страницы  —  изменить HTML-код сайта.

Примеры статических ссылок:

Динамические ссылки содержат строку запроса, которая является частью URL-адреса, присваивающего значения указанным параметрам. Эти параметры передаются напрямую на сервер и используются для динамического извлечения контента из базы данных. Содержимое, которое будет отображаться на сайте, зависит от результатов запроса и не требует изменения HTML-кода страницы. Такие сайты действуют как шаблоны для контента.

Примеры динамических ссылок:

Как 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-адреса на более удобные и читаемые статические ссылки.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Antonello Zanini: Why You Should Avoid Dynamic URLs

Предыдущая статьяЛучший алгоритм решения задач по программированию на Python
Следующая статья7 Лучших курсов и книг по программированию на Rust для начинающих в 2021 году