URL Encoder/Decoder
Encode or decode URLs for safe web transmission
О кодировщике/декодировщике URL
Кодирование URL (также известное как кодирование с процентом) — это стандартизированный механизм кодирования информации в универсальном идентификаторе ресурса (URI), как определено в RFC 3986. Он преобразует специальные символы, пробелы и не-ASCII символы в формат, который можно безопасно передавать через Интернет, сохраняя целостность данных.
При кодировании URL специальные символы заменяются знаком процента (%) с последующими двумя шестнадцатеричными цифрами, представляющими численное значение символа в кодировке ASCII или UTF-8. Например, пробел становится %20, а знак вопроса становится %3F.
Декодирование URL — это обратный процесс: преобразование URL, закодированных с процентом, обратно в исходную форму, читаемую человеком. Это необходимо для того, чтобы веб-браузеры и серверы могли правильно обрабатывать и интерпретировать URL в соответствии со стандартами RFC 3986.
Как работает кодирование
Символ, закодированный с процентом, состоит из трёх частей: знака процента (%), за которым следуют две шестнадцатеричные цифры (0-9, A-F), представляющие значение байта. Символы ASCII используют однобайтовое кодирование (например, пробел = %20), тогда как символы в кодировке UTF-8 используют многобайтовое кодирование для международных символов (например, "café" = caf%C3%A9).
RFC 3986 определяет три типа символов:
- Зарезервированные символы (
: / ? # [ ] @ ! $ & ' ( ) * + , ; =) – имеют специальное значение в URL и не должны кодироваться в надлежащем контексте - Незарезервированные символы (A-Z, a-z, 0-9,
- . _ ~) – никогда не требуют кодирования - Все остальные символы – должны быть закодированы с процентом для безопасной передачи
Варианты использования
1. Параметры запроса с пробелами
hello worldстановитсяhello%20worldsearch?q=machine learningстановитсяsearch?q=machine%20learning
2. Международные символы
caféстановитсяcaf%C3%A9naïveстановитсяna%C3%AFve日本становится%E6%97%A5%E6%9C%AC
3. Специальные символы в параметрах
price=$100становитсяprice%3D%24100email=user@example.comстановитсяemail%3Duser%40example.comtag=#awesomeстановитсяtag%3D%23awesome
4. Email-ссылки с темой и телом
mailto:user@example.com?subject=Hello Worldстановитсяmailto:user@example.com?subject=Hello%20Worldbody=Check this out!становитсяbody=Check%20this%20out%21
5. URL-ссылки для общего доступа в социальных сетях
text=Check this out! #awesomeстановитсяtext=Check%20this%20out%21%20%23awesomeurl=example.com/page?id=123становитсяurl=example.com%2Fpage%3Fid%3D123
Лучшие практики SEO
- Избегайте чрезмерного кодирования в URL: Держите видимые URL-адреса в чистоте. Используйте
example.com/seo-best-practicesвместоexample.com/seo%20best%20practices - Используйте дефисы вместо пробелов: Google явно рекомендует использовать дефисы в качестве разделителей слов в URL
- Используйте исключительно строчные буквы: Сохраняйте последовательные строчные буквы по всему URL, чтобы избежать проблем с дублированным контентом
- Держите URL-адреса короткими и значительными: Сохраняйте URL-адреса менее 75 символов, включая 3-5 значимых ключевых слов
- Минимизируйте параметры запроса: По возможности используйте статические структуры URL; параметры создают проблемы с сканированием и индексированием
- Удаляйте идентификаторы сеансов: Избегайте идентификаторов сеансов, которые создают дублированный контент с идентичным содержимым страницы
- Используйте правильное кодирование UTF-8: Для международных символов обеспечьте последовательное кодирование UTF-8 на всем сайте
- Реализуйте перенаправления 301: При изменении структур URL используйте постоянные перенаправления для сохранения рейтинга поиска и авторитета ссылок
Справка по часто кодируемым символам
Быстрая справка для часто используемых закодированных символов:
%20– Пробел (используйте дефисы в пути URL вместо этого)%23– # (Хэш/Хэштег)%26– & (Амперсанд)%3D– = (Равно)%3F– ? (Знак вопроса)%40– @ (Знак "at")%2B– + (Плюс)%2F– / (Косая черта)%24– $ (Знак доллара)%21– ! (Восклицательный знак)%25– % (Знак процента)%3A– : (Двоеточие)
Практические приложения
Веб-разработка
- Кодирование параметров запроса в URL (поисковые запросы с пробелами или специальными символами)
- Подготовка данных для API запросов со специальными символами
- Создание допустимых атрибутов href в HTML со специальными символами
- Кодирование обработчиков onclick и URL JavaScript
- Обработка перенаправления URL с параметрами
Управление контентом
- Кодирование имён загруженных файлов с пробелами или специальными символами
- Преобразование заголовков со специальными символами в безопасные для URL слаги
- Обработка динамической маршрутизации с кодированными параметрами
Email и общение
- Создание ссылок mailto с темой и содержимым тела
- Кодирование атрибутов действия форм с параметрами
- Создание кодированных URL для создания QR-кода
Связанные инструменты
Вы также можете найти эти инструменты полезными:
- Кодировщик Base64 – Кодировать/декодировать двоичные данные и файлы отдельно от URL
- Форматтер JSON – Проверять и форматировать данные JSON в запросах API с кодированными URL
- Генератор хэша – Создавать контрольные суммы кодированных URL для проверки
Советы
- Кодирование параметров запроса в URL (например, поисковые запросы с пробелами)
- Подготовка данных для API запросов для предотвращения неправильно сформированных запросов
- Создание безопасных ссылок в HTML и JavaScript без нарушения атрибутов
- Кодирование специальных символов в email-ссылках и URL mailto
- Тестирование кодированных URL в различных браузерах для обеспечения совместимости
- Использование канонических тегов, когда один и тот же контент доступен по нескольким вариантам URL
- Мониторинг производительности URL в Google Search Console и аналитике
Распространённые ошибки и решения
- Кодирование зарезервированных символов в пути URL: Создаёт непреднамеренную структуру URL. Кодируйте только незарезервированные символы.
- Использование %20 для пробелов вместо дефисов: Снижает читаемость и SEO. Используйте дефисы в пути URL:
url-with-hyphens - Смешивание прописных и строчных букв: Создаёт проблемы с дублированным контентом. Применяйте строчные буквы для всех URL.
- Чрезмерное кодирование чистых URL: Вредит коэффициентам кликов и пользовательскому опыту. Кодируйте только при необходимости.
- Не кодирование специальных символов в параметрах: Разрушает URL и API запросы. Всегда кодируйте параметры со специальными символами.
- Включение идентификаторов сеансов в URL: Создаёт дублированный контент. Используйте вместо этого cookies для управления сеансом.
- Динамические URL со слишком большим числом параметров: Сложно сканировать и индексировать. По возможности создавайте статическую структуру URL.
Часто задаваемые вопросы
В: Вредят ли кодированные URL SEO?
О: Поисковые системы могут декодировать URL, но читаемые URL показывают лучшие результаты для коэффициентов кликов и пользовательского опыта. Используйте кодирование только при необходимости (в параметрах со специальными символами), а не в основном пути URL.
В: Должен ли я использовать %20 или + для пробелов в URL?
О: В строках запроса %20 и + оба представляют пробелы, но %20 более стандартный и надёжный. Используйте дефисы в пути URL вместо кодирования пробелов.
В: Как мне кодировать не-английские символы для SEO?
О: Используйте кодирование UTF-8 с процентом. Большинство современных веб-сайтов отображают международные символы непосредственно в URL (IDN – Интернационализированные имена доменов), которые поисковые системы предпочитают кодированию.
В: Повредит ли изменение структуры моего URL мои рейтинги?
О: Если вы реализуете надлежащие перенаправления 301 со старых URL на новые, вы можете сохранить рейтинги. Настройте перенаправления немедленно при изменении структуры URL.
В: Могут ли поисковые системы индексировать кодированные параметры?
О: Да, но Google предпочитает чистые, статические URL. Используйте параметры экономно и только для необходимых целей фильтрации или отслеживания.
В: Какова максимальная длина URL?
О: Хотя технически URL могут быть очень длинными, большинство браузеров поддерживают URL до 2000 символов. Для SEO старайтесь держать URL под 75-100 символов, когда это возможно.