Вопрос или проблема
Я использую WordPress уже очень давно в различных проектах.
Теперь у меня есть проект на WordPress, в котором более 9000 статей.
Я использую плагин Link Whisper для внутреннего построения ссылок, который создал автоматическое внутреннее построение ссылок более 125000 ссылок.
Я хотел бы изменить это, чтобы я мог, надеюсь, добиться изменения правил для создания около 5-10 внутренних ссылок на статью.
Но сначала я хочу изменить URLs статей, категорий, тегов с помощью permalinkmanager pro и 301 редиректов…
Но теперь мой важный вопрос:
Почему WordPress не использует идентификаторы отдельных страниц, статей, категорий, тегов и т.д. для внутреннего построения ссылок? Почему WordPress всегда использует абсолютные пути ссылок? Если я сейчас изменю эти пути, мне придется изменить ВСЕ ссылки в статьях.
Например, TYPO3 всегда использует идентификаторы, а затем преобразует их в читаемые URLs на фронтенде.
Существует ли, возможно, плагин или решение, которое также работает с WordPress?
Ответ или решение
Чтобы осуществить переход на неабсолютные ссылки в WordPress, необходимо учитывать несколько важных аспектов, касающихся структуры ссылок, системы управления контентом и функциональности плагинов. Как вы правильно заметили, WordPress использует абсолютные ссылки по умолчанию, что означает, что каждая ссылка указывает полный URL адрес страницы, включая доменное имя, протокол и путь. Это удобно, но имеет свои недостатки, особенно когда возникает необходимость изменить структуру URL или доменное имя.
Для начала, давайте рассмотрим причину, по которой WordPress выбирает абсолютные ссылки. Это связано с тем, что такая структура ссылок позволяет избежать проблем с относительными адресами, которые могут возникать при изменении местоположения контента или при перемещении сайта на другой домен. Тем не менее, это создает сложности при массовых изменениях URL, как в вашем случае, когда необходимо обновить более 125,000 внутренних ссылок.
Теперь к вашему вопросу о том, как осуществить этот переход:
-
Подход с использованием плагинов: В WordPress существуют плагины, которые могут помочь управлять внутренними ссылками и автоматически обновлять их при изменении структуры URL. Один из таких плагинов — Better Search Replace, который позволяет производить глобальный поиск и замену в базе данных. С его помощью вы сможете заменить старые абсолютные ссылки на новые. Однако будьте осторожны с массовыми заменами, так как это может привести к ошибкам.
-
Использование относительных ссылок: Есть возможность использовать относительные ссылки в ваших статьях, например, используя путь от корневой директории сайта (например,
/category/article-name
). Это позволит избежать проблем с изменениями домена, но требует ручной работы при обновлении существующих контентных ссылок. -
Переход на другие платформы: Вы упомянули TYPO3, который использует идентификаторы для внутренних ссылок. Если использование относительных или ID-ссылок критично для вашего проекта, возможно, стоит рассмотретьmigração на другую платформу системы управления контентом. Однако это потребует значительных ресурсов на миграцию.
-
Искусственное создание интерактивной системы ссылок: Можно использовать специальные функции PHP в ваших темах WordPress для генерации ссылок на основе ID. Это рассмотрение потребует написания кастомного кода и глубоких знаний в PHP и API WordPress. Хотя это решение является мощным и гибким, оно потребует поддержки и регулярного обновления кода.
-
301 редиректы: При изменении структуры URL используйте 301 редиректы, чтобы почитать старые ссылки. Это не только поможет сохранить SEO-рейтинги, но и улучшит пользовательский опыт, перенаправляя пользователей на новые URL.
В конечном итоге, хотя WordPress не предназначен для работы с неабсолютными ссылками по умолчанию, есть множество методов и инструментов, которые могут помочь вам в этом процесс. Постоянный мониторинг и поддержка структуры ссылок помогут избежать проблем в будущем и обеспечить стабильное функционирование вашего сайта.
Вам может потребоваться тестировать выбранный метод в контролируемой среде, чтобы избежать потери данных или неполадок на вашем сайте.