Is It WP? Проверка признаков WordPress

Изучайте публичные признаки WordPress, обнаружение REST и видимые файлы тем и плагинов без заявлений о достоверном составе сервера.

Как пользоваться

Изучайте публичные признаки WordPress, обнаружение REST и видимые файлы тем и плагинов без заявлений о достоверном составе сервера.

Шаг 1

Выберите публичную страницу

Учебный пример, не результат проверкиhttps://clocktools.app/

Проверяйте только разрешённые адреса. Параметры исходного URL удаляются; не отправляйте секреты.

Шаг 2

Сопоставьте признаки

Учебный пример, не результат проверкиwp/v2 · wp-content

Сравните пространства имён REST, генератор и пути файлов. Неудачный запрос не доказывает отсутствие.

Шаг 3

Сохраните подтверждения

Учебный пример, не результат проверкиJSON

Экспортируйте отчёт с датой для миграции или передачи обслуживания. Видимые имена не образуют полного списка компонентов.

Практическое применение

Подготовка миграции

Перед оценкой миграции проверьте отдельно главную и типичную публичную страницу. Запишите конечный URL, REST, темы и идентификаторы плагинов. Затем запросите настоящий инвентарь и схему публикации у владельца. Признаки помогают уточнить формы и контент, но не определяют трудоёмкость или все серверные зависимости.

Исследование кеша

После смены темы или плагина страница может ссылаться на старые файлы. Экспортируйте отчёт с датой и сравните с текущей конфигурацией и кэшем. Откройте ту же страницу анонимно до очистки. Старый generator или stylesheet описывает выданный ответ, а не необходимость переустановки WordPress.

Передача в поддержку

Для передачи в поддержку сохраняйте JSON, а не только оценку. Ответ, неудачные запросы и примеры путей объясняют наблюдения. Удалите чувствительные URL из обращения. Общая ссылка готовит новую проверку без вашей сессии и без автоматического воспроизведения старых доказательств.

История и устройство

Отчёт о признаках WordPress для wordpress.org
Отчёт wordpress.org перечисляет публичные признаки WordPress и данные ответа. Они помогают определить платформу, но не раскрывают закрытые настройки сайта.

Обнаружение вместо угадывания каталога

WordPress документирует связь https://api.w.org/ в HTML или HTTP-заголовке Link. Она позволяет найти корень API даже у установки в подкаталоге. Проверка ищет пространства имён ядра.

wp/v2 — значимый признак, но неудачный REST-запрос не доказывает отсутствие WordPress. Межсетевые экраны, ограничения и отделённый фронтенд могут скрывать API. Оценка суммирует веса до 100; это не статистическая вероятность. Руководство WordPress по обнаружению REST.

Видимые файлы не равны установленным компонентам

Путь темы может раскрыть её идентификатор; публичный заголовок style.css — название, версию или родительскую тему. Значения могут быть устаревшими или изменёнными. Дочерняя тема не тождественна родительской.

Пути плагинов показывают только ссылки из изученного ответа. Серверные плагины, объединённые файлы и переименованные каталоги могут остаться незаметными. Версия не доказывает безопасность, лицензию или полноту списка. Документация WordPress по таблицам стилей.

Пример: статический экспорт со следами WordPress

Страница называет WordPress генератором и содержит изображения wp-content, но API возвращает 404. Возможны экспорт, кеш или защищённый API. Спросите владельца, как создаётся и обслуживается страница; не считайте активный сервер WordPress установленным фактом.

Генератор
Видимый признак
REST HTTP 404
Пространство имён ядра не обнаружено
Следующее действие
Подтвердить происхождение у владельца

Сначала признаки, затем заключение

Сигнал бывает найден, не найден или недоступен. Не найден означает, что в просмотренном ответе не было распознаваемого признака. Недоступен означает непригодность запроса или ответа. Если защита выдала страницу ошибки, отсутствие пути темы мало говорит о содержимом для обычного посетителя. Краткий вид показывает первые шесть строк сигналов и основные поля компонентов. Экспортируйте JSON для полного списка и возвращённых метаданных stylesheet, включая признаки, не показанные в кратком виде.

Веса открыты: REST core 45, generator WordPress 35, обнаружение API 25, пути content и includes по 20, известные основные скрипты 15, префиксы cookie 12, признаки публикации 10 и pingback 8. Сумма ограничена 100. Десять ссылок на плагин не дают десять независимых сигналов; число ресурсов и вес признака отвечают на разные вопросы.

Учитывается и основная страница. Ошибка, усечённый или не-HTML ответ остаются неопределёнными даже с признаками. При пригодном HTML REST core плюс другой сигнал либо минимум три сигнала на 55 баллов дают сильные признаки. Иначе 30 и выше могут дать вероятно, малые положительные значения остаются неопределёнными. Это правила движка, не вероятность или доступ к backend.

Фиксированные учебные примеры, не текущие проверки
ПризнакиБаллыТрактовка
Только wp-content20Неопределённо: один путь даёт мало данных.
Только generator35Вероятно при пригодном HTML, не доказательство backend.
wp/v2 и обнаружение API70Сильные публичные признаки при пригодном HTML.
Несколько признаков на HTTP 403Зависят от признаковНеопределённо: нужная страница не изучена полностью.
Ничего в пригодном HTML0Нет публичных сигналов, не ноль процентов вероятности.

Почему страницы показывают разные API

Проверка предпочитает опубликованный адрес обнаружения из Link или HTML. Иначе выводит кандидат wp-json/ из видимых content-путей или источника страницы. Все каталоги не перебираются. Публикация под /news/ может отличаться от главной на другом движке, особенно если та не объявляет полезную API-связь.

Документация обнаружения REST определяет https://api.w.org/. Здесь важно также, возвращает ли кандидат узнаваемые пространства имён или маршруты ядра. Ссылка и пригодный индекс — разные строки доказательств. Опубликованный адрес не подтверждает работу endpoint во время проверки.

Собственные пространства имён полезны, но не становятся списком плагинов автоматически: тема или пользовательский код тоже регистрируют маршруты. RSD, Windows Live Writer и X-Pingback имеют меньшие веса. ClockTools читает ссылки без публикации или проверки паролей. Отключённый интерфейс меняет признаки, не обязательно CMS.

Используйте пути для уточнения состава сайта

Ресурс под /wp-content/themes/atelier/ раскрывает идентификатор каталога. Главный кандидат имеет больше ссылок, при равенстве применяется алфавитный порядок; это не выбор активной темы в аккаунте. Можно прочитать обычный style.css и опубликованные поля. Если имя отсутствует, остаётся идентификатор, а не придуманное название продукта.

Два каталога требуют объяснения, а не автоматической тревоги о конфликте. В модели дочерней темы Template обозначает каталог родителя. Для atelier-child и atelier спросите, где изменения и родительские файлы. Кэш или отдельный ресурс также объясняют второй идентификатор. Подтвердите устройство в админке перед обновлением.

Пути /wp-content/plugins/ и /wp-content/mu-plugins/ группируются по идентификатору и числу ссылок. Документация обязательных плагинов объясняет особую загрузку, но видимый каталог не раскрывает весь состав. Контактная страница может подключать форму, отсутствующую на главной. При миграции проверьте её отдельно и сравните с активным и must-use-инвентарём владельца.

Серверные плагины, объединённые файлы, собственные пути и CDN могут быть невидимы; кэш может сохранять уже удалённую ссылку. Версия темы относится к теме, произвольный ?ver= не определяет ядро. Версия WordPress читается только из явно идентифицирующего generator. Пустое поле поэтому может быть правильным результатом.

Theme Name — опубликованное отображаемое имя; Author и Theme URI — заявленные сведения об авторстве. Text Domain обозначает область перевода, не узел сайта. Поля помогают найти предполагаемую документацию, но остаются редактируемым текстом. Они не подтверждают владельца, права лицензии или доступность обновления для выданных файлов.

Отделяйте подготовку контента от выдачи страницы

Обычный сайт выдаёт HTML WordPress, кэш — прошлую копию. Статический экспорт сохраняет разметку и пути без запуска WordPress при каждом посещении. Headless-интерфейс может получать контент из отдельного или закрытого сервиса без знакомых путей. Инструмент видит выдачу, не всю производственную цепочку.

Это объясняет оба неожиданных результата. Высокая оценка экспорта может верно описывать признаки, а утверждение о работающем backend было бы неверно. Ноль сигналов у headless тоже возможен, хотя редакторы используют WordPress. Уточните, где контент пишут, собирают и выдают: для проекта это полезнее спора о метке детектора.

В фиксированном примере экспорта generator и wp-content дают 55 без пригодного REST core. Два признака не удовлетворяют правилу трёх для сильного заключения; при пригодном HTML может появиться вероятно. Заблокированная или усечённая страница остаётся неопределённой. Скопированные признаки публикации добавят баллы, не доказав работающий backend.

Разбирайте неожиданный результат без закрытых страниц

Начните с введённого и конечного URL. Перенаправление может привести на другой узел, языковую страницу или проверку защиты. Сравните статус и прочитанные байты до названий компонентов. Усечённый HTML может скрыть поздние признаки, поэтому список не исчерпывающий. Убедитесь, какой публичный ответ был изучен.

Проверка анонимна и ограничена: страница, один кандидат REST и при наличии stylesheet. JavaScript не запускается. Начальные параметры запроса удаляются; зависимая от них страница может отличаться от браузера. Не обходите это подписанным preview или ссылкой входа. Используйте обычный публичный путь, а авторизованные страницы проверяйте локально.

При блокировке API или лимите сохраните недоступную строку, повторите позже и при необходимости изучите свои правила доступа. Не отключайте защиту ради баллов. Версии и обновления проверяйте в авторизованной системе: сравнения уязвимостей здесь нет. Полезное исправление требует безопасного URL, времени, ожидаемого признака и публичного ответа, а не только спорной оценки.

Методика

Изучаются ограниченный анонимный HTML, один кандидат REST и доступный stylesheet с проверенными публичными адресатами и ограниченными перенаправлениями. Сессия не передаётся, JavaScript не выполняется. Найденные, отсутствующие и недоступные признаки разделены. Компоненты — видимые ссылки, а история и JSON не являются авторизованным инвентарём.

Ограничения

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

Исправления

Сообщите о воспроизводимой проблеме через страницу контактов. Укажите URL инструмента, безопасный пример ввода, время проверки, ожидаемый результат и подтверждение из источника. По возможности приложите публичный ответ, но не данные аккаунта и не секретные ссылки. Изменение записи источника не обязательно означает ошибку расчёта. Сначала сравните одинаковые имя, страницу и время наблюдения.

МетодикаИсправления

Частые вопросы

Оценка означает процент вероятности установки WordPress?

Нет. Это сумма заданных весов с пределом и правилами пригодности HTML. Читайте признаки и ответ. Ноль может соответствовать headless, высокий балл — копии или кэшу. Ни то ни другое не является измеренной вероятностью.

Почему результат неопределённый при наличии признаков?

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

Статический сайт может выглядеть как WordPress?

Да. Generator, ресурсы и обнаружение могут пережить экспорт или кэш. Результат описывает эти признаки. Спросите владельца о сборке и выдаче, чтобы отличить экспорт от приложения; закрытая цепочка здесь не видна.

Показанная тема обязательно активна?

Нет. Кандидат выбирается из публичных ссылок, не из админки. Дочерняя, родительская тема, кэш или лишний ресурс могут дать несколько имён. Читайте метаданные и подтверждайте устройство перед установкой, покупкой или обновлением похожей темы.

Перечислены все установленные плагины?

Нет. Группируются узнаваемые ресурсы проверенной страницы. Форма может появиться только в контактах, серверный плагин никогда. Пространства REST остаются признаками API, не автоматическими утверждениями о плагинах.

Почему нет версии при параметрах ?ver=?

Они могут означать плагин, тему или кэш, а не ядро. Из них WordPress не угадывается. Явный generator может дать версию; иначе проверьте админку, не подставляя номер файла.

REST 404 или 403 доказывает отсутствие WordPress?

Нет. Доступ к проверяемому адресу API может быть ограничен, сам адрес может быть недоступен или не подходить для этой установки. Наличие ссылки на API и успешный ответ с пространством имён ядра WordPress — разные наблюдения. Сопоставьте их с HTML страницы. Если сайт ваш, проверьте предусмотренный адрес API и правила доступа, не отключая защиту только ради результата проверки.

Можно установить безопасность сайта этой проверкой?

Нет. Инструмент не проверяет вход в систему, не перечисляет пользователей, не пытается эксплуатировать уязвимости компонентов и не сверяет версии с базой уязвимостей. Публичные названия помогают понять, какие сведения раскрывает сайт, но не оценить его безопасность в целом. Для этого нужны проверка состава системы с авторизованным доступом и отдельное обследование безопасности с разрешения владельца.

Почему отчёт отличается от моего браузера с входом?

Cookie и авторизация не передаются, JavaScript не работает, исходные параметры удаляются. Браузер может получить персональную страницу, другой кэш или авторизованный API. Сравните тот же путь анонимно и сохраните конечный URL и время.