WP-JSON как проблема сайтов на WordPress Данил Пистолетов, 14 февраля 202514 февраля 2025 WP-JSON как проблема сайтов на WordPress: последствия для конфиденциальности сайтов и SEO-оптимизации. Папка wp-json и oembed появляются на сайтах WordPress для REST API. На некоторых сайтах предлагают отключение REST API с помощью модификации файла functions. Этот способ хоть и решает данную проблему, но создаёт новые. Из-за этой модификации возникают проблемы в работе админ-панели. В частности, REST используется для блочного редактора контента записей. Для устранения этой проблемы без проблем с админ-панелью можно использовать перенаправление или хуки PHP. Но не каждый пользователь этой CMS сможет это сделать, да и не факт что он будет знать об этой проблеме. В любом случае, публикация посвящена скорее анализу вытекающих последствий из существования папки wp-json, нежели в поисках идеального решения. Хоть я и давно использую WordPress, об этой его детали я узнал недавно, когда просматривал Яндекс Вебмастер во время написания статьи Как оптимизировать сайт на WordPress. Там я обнаружил ссылки на эту самую папку. Я решил просмотреть записи в ней и узнал несколько интересных вещей. Блочный редактор это, конечно, замечательно, но эти json-записи выдают излишне много информации. В них содержатся записи о точной дате и времени публикации записей, о времени их изменения; информация об используемых на сайте плагинах; о внутреннем идентификаторе автора записи; о логине автора записи. Есть даже отдельный раздел, где собраны все зарегистрированные пользователи сайта. Стоит отметить, что я проверил это на других сайтах WordPress, на многих из них также была доступна эта папка. На некоторых был ограничен доступ к разделу со всеми пользователями, но это редкость. Справедливости ради, эта папка не содержит в себе логины и пароли в открытом виде, потому считать её излишне вредоносной нельзя. Тем не менее, сами по себе эти записи всё равно весьма неприятны. Информацию об используемых плагинах можно было бы найти в html страницы, но там вряд ли были бы все. Тут же они поимённо и по порядку. Раскрытие логина автора записи также создаёт преимущество для злоумышленников, тем более что не все авторы сайтов указывают его публично на страницах записей. Касательно записи с пользователями сайта, это создаёт возможности для парсинга. Одно дело парсинг контента — его и без того можно реализовать. Но тут же мы имеем возможность массово спарсить пользователей сайта без каких-либо ограничений. Эта информация может быть полезна не столько для взлома аккаунтов, сколько для деанонимизации пользователей — парсинг ников пользователей сайтов может дать возможность для их сопоставления с целевым пользователем и получение информации о том, какими сайтами он пользуется. Дополнительно нужно указать на проблемы в области SEO. На некоторых сайтах были приведены доказательства того, что Яндекс эти папки с разных сайтов индексирует в поиске. Сам я это не проверял, но в панели Яндекс Вебмастер он им ставит код 200 и весьма часто их посещает. До индексации дело вроде как не дошло, но на всякий случай было поставлено указание в Robots.txt для избежания этого. Таким образом, можно сделать однозначный вывод о том, что отображение папки oembed и wp-json весьма проблематичны. Пускай они и имеют смысл, но их публичность его явно не имеет. Актуально создание возможности для их сокрытия или раскрытия в настройках самого WordPress. По умолчанию, конечно, эта возможность должна быть отключена. Статьи