Как отключить wp-json?

Регистрация доменов
Домен RU - 99 руб
Домен РФ - 99 руб
www.

После последнего обновления Яндекса я совершенно случайно обнаружил, что у меня на сайте https://prostolinux.ru/ в индексе появилась ТЫСЯЧА новых страниц! Я не мог написать столько статей за пару недель между АПами и поэтому это было НЕНОРМАЛЬНО.

Яндекс Вебмастер показывал мне источник проблемы - раздел /wp-json/ на сайте. Но на практике такой папки на сайте не оказалось, и я понял, что придется попотеть.

wp-json что это

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

При заходе на адрес https://prostolinux.ru/wp-json я получал страницу с таким кодом:

{"name":"\u041f\u0440\u043e LINUX, SOFT \u0438 HARDWARE.","description":"\u041f\u0440\u043e\u0441\u0442\u043e \u043e Linux, SEO \u0438 FOREX.","url":"http:\/\/prostolinux.ru","namespaces":["oembed\/1.0"],"authentication":[],"routes":{"\/":{"namespace":"","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"context":{"required":false,"default":"view"}}}],"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/"}},"\/oembed\/1.0":{"namespace":"oembed\/1.0","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"namespace":{"required":false,"default":"oembed\/1.0"},"context":{"required":false,"default":"view"}}}],"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/oembed\/1.0"}},"\/oembed\/1.0\/embed":{"namespace":"oembed\/1.0","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"url":{"required":true},"format":{"required":false,"default":"json"},"maxwidth":{"required":false,"default":600}}}],"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/oembed\/1.0\/embed"}}},"_links":{"help":[{"href":"http:\/\/v2.wp-api.org\/"}]}}

В эту страницу была вложена другая и так более 1000 страниц как то насобиралось. Хорошо, что Яндекс не успел их проиндексировать, а он бы это сделал, так как у него в индексе уже полно таких сайтов с такими мусорными страницами:

wp-json

Но как это Яндекс так быстро нашел все эти страницы? Оказалось все просто: в шапке сайта (посмотрел исходный код страницы, в header.php этого нет) болтались три замечательные ссылки на всю эту ерунду, да еще и с картой XML для ЛУЧШЕГО индексирования!

<link rel='https://api.w.org/' href='https://prostolinux.ru/wp-json/' />
<link rel="alternate" type="application/json+oembed" href="https://prostolinux.ru/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fprostolinux.ru%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://prostolinux.ru/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fprostolinux.ru%2F&#038;format=xml" />

Как удалить ссылки link rel?

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

remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'rest_output_link_wp_head' );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );

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

WP-json что это?

Как оказалось, проблема была в новой версии WordPress. Начиная в версии 4.4 они ввели новый API REST, который наплодил у всех кучу мусорных страниц в виртуальной директории wp-json.

Читайте также:  Как зафиксировать сайдбар?

Решить вопрос можно просто, отключив опять же все это через function.php, добавив туда кучу кода:

// Отключаем сам REST API
 add_filter('rest_enabled', '__return_false');
// Отключаем фильтры REST API
 remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
 remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
 remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
 remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' );
 remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' );
 remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' );
 remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' );
 remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' );
 remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
// Отключаем события REST API
 remove_action( 'init', 'rest_api_init' );
 remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
 remove_action( 'parse_request', 'rest_api_loaded' );
// Отключаем Embeds связанные с REST API
 remove_action( 'rest_api_init', 'wp_oembed_register_route' );
 remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );

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

Как оказалось, я только этот сайт обновил до версии 4.4 и поэтому у других моих проектов таких проблем нет. Я пока не буду их обновлять и вам не советую, а если вы уже это сделали, то добавьте приведенный в статье код в function.php, чтобы избежать проблем.

Еще очень полезно установить на сайт три плагина: Disable WordPress Core Updates, Disable WordPress Plugin Updates и Disable Theme Updates.

Как вы поняли из этой статьи, береженого берегут эти плагины и изучение Яндекс Вебмастера после каждого АПа....

Смотрите так же видео по теме статьи:


Понравилась ИГРА? Возьми КОД, поставь себе на сайт и улучши поведенческие факторы!


97 комментариев уже оставлено!
    • Да, вы правы, поэтому в robots.txt я добавил правило Disallow: /wp-json/ чтобы не было дублей. Забыл об этом написать, спасибо, что напомнили 😉

  1. Спасибо за материал.
    А почему просто не закрыть /wp-json от индексации в роботс? Страниц же не будет в индексе и все.
    И еще, куда именно в /wp-includes/function.php код вставлять? А то я вставил куда поподя и сайд выдал ошибу сервера.

    • Можно и закрыть просто, но Яндексу, к примеру, это все равно, он все равно их загрузит, хоть и в индекс не включит, а разве нам это нужно? Нет, не нужно, зачем его лишний раз напрягать?

      В function.php код нужно вставлять в конец, НО! Если код заканчивается так - ?>, то код нужно поставить до этого знака, а не после, иначе сайт сломается.

  2. спасибо! Вы по ходу тока один написали о решение такой проблемы, сейчас случайно увидел в вебмастере шняги эти, я как-то на днях видео в логах переходы сюда и не могу понять что это и откуда. А оказывается что-то левое появилось на сайте.

    • Это просто совсем новая проблема, большинство еще даже не заметили этого. Рад, что смог помочь 😉

  3. Можно задать вопрос от новичка? У меня только functions.php ( с S на конце). Причем два - один в папке wp-includes, второй в wp-content/themes. Куда вставлять код?

  4. Во первых - СПАСИБО!
    Но есть вопрос. Я сразу же как заметил, что появляются левые страницы, закрыл /wp-json от индексации в роботс. Но это не помогло. Страницы так и продолжили появляться, а прежние никуда не исчезли. Т.е. в этом случае Яндекс не реагировал на роботс. А после ваших изменении - что? Исчезнут эти страницы с индекса? Или перенаправление на главную будет только стимулировать индексацию? Ведь нет сообщение об ошибке 404, и нет повода Яндексу прекратить индексацию. Сумел объ/wp-json от индексации в роботснить? Спасибо за внимание.

    • Как только Яндексу страницы стану недоступны, он со временем выкинет их из индекса. Тем более мы удалили карту сайта этих страниц, а это тоже сильный фактор, почему вообще яндекс нашел эти страницы.

      Нужно подождать, все это несомненно поможет. Лично у меня страницы не влетели в Яндекс, не успели, он успел их только загрузить. А у вас они попали в индекс?

      • Привет! Спасибо за решение. Все сделал по предложенному - результат, как Вы и описываете. В выдачу эти страницы не лезут, но в вебмастере не исчезают, наборот плодиться продолжают... блин... было 42, теперь 63. Может что-то стоит доработать? А у Вас как с этим?

        • Яндекс загружает, что ему открыто, но в индекс главное, чтобы не взял, если все закрыли, то бояться нечего. Поисковики всегда берут все страницы, даже закрытые в robors.txt, это нормально. Чтобы не брал, нужно чтобы он их вообще не мог найти, раз нашел, то все. Потом выкинет...

    • Не проблема, лишь бы ссылки на эти разделы не было с сайта и закрыто в robots.txt, тогда Яндекс и не найдет эти страницы.

  5. речь как раз о том, что ссылки остаются в шапке...
    (оповещения об ответах на мыло не приходят)

    • Странно, у меня в шапке ничего не осталось, а какого вида ссылка остается?

      Комментарии сбились почему-то, вроде все восстановил, но на этот комментарий ответ не придет, так как удалилась база подписчиков при удалении плагина.

  6. Нашел решение для удаления всех строк, добавить еще и это:

    remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
    • А разве вот этот код не удаляет все ссылки?

      remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); 
      remove_action( 'wp_head', 'rest_output_link_wp_head' ); 
      remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
  7. Проблема решилась, но не полностью....
    Добавил Disallow: /wp-json/ в robots.txt, а все равно при наборе - http://site.ru/wp-json/ остаюсь на дубле, не перебрасывает ни на главную, ни на страницу с 404...
    В чем может быть проблема?

    • Вы точно прописали все коды из статьи в function.php? У меня все работает, и у других тоже. Есть еще вариант: создайте по этому же адресу страницу статическую и разместите на ней статью какую нибудь, или сделайте с нее редирект на любую другую статью.

      • Коды прописал.
        При добавлении к урлу любой статической страницы элемента - /wp-json/ перенаправляет на страницу с ошибкой - 404, это работает. А вот добавление элемента /wp-json/ к домену (главной) перебрасывает на дубль - http://site.ru/wp-json/

        • Вы бы написали адрес своего сайта в подписи, так трудно судить не видя ничего.

        • Правильно. В этому случае эта страница не попадет в индекс, а если и попала, то Яндекс ее выкинет скоро. Нужно посмотреть, какие еще страницы попали в индекс и тоже сделать с них редирект или просто закрыть в robots.txt

  8. Спасибо, очень полезная информация!
    На одном сайте все ок после добавления кодов.
    А вот на сайте crespark.ru почему-то админка перестает работать после добавлений кода (белый экран). Из-за чего это может быть?
    Еще точно не знаю, может на нем дор, на яндексе уже 5000 стр. Все что можно удалил, на вирусы проверил, а пустые ссылки есть, когда переходишь по ним "извините страница не найдена".

    • Может неправильно вписали код в function.php? Многие делают ошибку, вписывая в конец файла, а там иногда он кончается ?> - нужно вписывать тогда до этого тэга. В отношении вирусов - вот отличный сервис, реально найдет все - //zmoe.ru/links/4l

  9. за код спасибо! В индекс ничего лишнего не попало. Через xenu и Screaming Frog SEO Spider смотрю тоже нормально. НО! Если посмотреть через яндекс вебмастер бета, то там в загруженных этих дублей несколько тысяч, и постоянно увеличивается. Как у вас?

    • У меня все пропало, но прошло уже время. Проверьте исходный код сайта и посмотрите, реально ли пропали там ссылки? А вообще, Яндекс всегда загружает больше, чем нужно. Но это значит, что он находит эти ссылки!

  10. Ребята здравствуйте. У меня беда. Надежда только на вас.
    Проблема в следующем:
    На моем сайте - droidphones.in.ua
    5.03.16 была перегрузка на сервере по памяти (нагрузка превышала допустимую почти в 4 раза)
    После этого при попытке зайти на сайт выдает ошибку 502 Bad Gateway nginx/1.8.1
    Связывался с хостингом и они мне ничем не помогли. Утверждают, что необходимо к разработчику сайта идти с вопросом.
    Перед этим сайт работал отлично.
    в админку сайта тоже не заходит
    Также я заметил что робот яндекса именно 5-го числа посещал мой сайт. На форумах читал что может быть именно он дал такую пиковую нагрузку.
    Добавил код, но ничего не произошло. Как висела ошибка 502 так и висит.
    Что я делаю не так?

    • А что за хостинг у вас? Советую поменять, у вас просто упал ngnix и его нужно перезагрузить. Если хотите помощи, то пишите подробнее.

      • А что подробнее? Хостинг best-hoster.ru . Подал заявку на перезапуск ngnix . Вот только что написали что работает. В итоге сайт как висел так и висит....

        • Меняйте хостинг, они должны решить проблему, это на их стороне, так как за работу сервера вы не отвечаете и доступа туда не имеете. Как вариант попробуйте загрузить через ftp любой html файл или просто текстовый и попробуйте его открыть. Если не откроется, то точно меняйте хостинг.

    • Здравствуйте. Посмотрите в коде страницы, если rel canonical ссылается на главную, то Яндекс исключит дубль морды потому что документ является неканоническим. Поэтому редирект не обязателен.

  11. + после недавнего апдейта к-во страниц, загруженных роботом Яши снова увеличилось на 50 штук, хотя код был установлен две недели назад... 1 страница даже в индекс попала (в шапке кода wp-json при этом нет)...

    • Сделайте редирект с этой страницы на главную. Если в коде сайта пропали ссылки на этот wp-jons, то больше ничего делать не нужно. Если найдете еще подобные страницы, то и на них нужно сделать редирект. Лучше смотреть в Яндекс вебмастер, что он там уже нашел и закрыть все это.

    • А в robots.txt закрыли этот раздел сайта? Может быть Яндекс все это скушал раньше, а теперь дожевывает. Но не стоит, я думаю, переживать, у меня со временем все пропало.

  12. в коде ссылок нет,
    а как сделать этот редирект, не подскажите и как найти подобные страницы?

    • У вас на чем сайт сделан? Найти можно через Яндекс вебмастер, там видно в разделе индексирование, что он уже загрузил.

  13. Сайт на Вордпресс...
    вопрос в том, что яндекс просто скушал эти страницы,но в индекс не добавил, поводов для волнений нет, правда?

    п.с. нужен ли вообще редирект на главную, если по ссылке http://site.ru/wp-json/ вижу дубль главной ???

  14. Здравствуйте! Спасибо за статью. Но, у меня проблема. Я не могу найти ссылки в исходном коде. При переходе по ссылке inf-teh-lotos.ru/wp-json появляется код: {"name":"u0418u043du0444u043eu0440u043cu0430u0446u0438u043eu043du043du044bu0435....
    Я пыталась выполнить все Ваши рекомендации, но результат плачевный. Сервер возвращает ошибку 500. Если можно, подскажите, как решить эту проблему (найти и убрать ссылки с сайта). С уважением. Татьяна.

    • Скорее всего вы неправильно вставляете код в файл function.php. Чтобы мне помочь, мне нужен как минимум доступ к сайту. Или хотя бы пришлите скрин, как вы вставляете код.

      • Спасибо за ответ. Реакция сервера: Страница inf-teh-lotos.ru не работает. Сайт inf-teh-lotos.ru пока не может обработать этот запрос. Эта ситуация возникает после вставки кода: // Отключаем сам REST API
        add_filter('rest_enabled', '__return_false');
        ......

        Код на удаление ссылок в заголовке сервер принимает нормально, но результата нет. При вводе адреса _http://inf-teh-lotos.ru/wp-json/ появляется тот же код. Возможно, ссылки размещены не в заголовке?
        Простите, что нагружаю Вас своими проблемами. С ув. Татьяна.

        • Скорее всего когда вы копируете код из статьи, то какие-то символы wordpress передает неверно, есть за ним такой грешок. Скинул это все в отдельный файл, скопируйте попробуйте с него //zmoe.ru/wp-content/banner/wp-jons.txt

          • Андрей, здравствуйте! Большое спасибо. Вы правы. Вставила код из файла и все проблемы ушли.Ещё раз большое спасибо!
            С ув.Татьяна.

  15. Спасибо, в роботс-тхт давно закрыла от индексации этот мусор, но все равно было неприятно видеть, как накапливается хлам. Код помог, буду ждать динамики в вебмастере. Спасибо, что написали о решении этого вопроса.

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

    • Тут вам может помочь вот этот сервис антивирус, сам пользовался раньше, когда были проблемы - //zmoe.ru/links/4l

  17. Благодарю за информацию. Попробовал. Странно, нашел зараженный в .htaccess. Посмотрим,что дальше будет. Спасибо.

    • У меня такое было тоже, в .htaccess встраивали вредоносный код и мой сайт перебрасывало на сайт проституток 😉 Меняйте хостинг, у меня на одном постоянно заражали, пока не ушел с него.

      • Благодарю. Я полагал,что такое вряд ли возможно в связи с устанавливаемой не хилой защитой серверов. В прочем, уже рассматривал варианты. Еще раз благодарю. Я ваш подписчик. С уважением

        • Все бывает, ломают хостинг, вам мой совет - не пользуйтесь ftp, только ssh для работы с сайтом. Если ваш хостинг этого не позволяет - меняйте его. А лучше купить недорогой VPS //zmoe.ru/links/3n и живите спокойно.

  18. Всё отлично. спасибо
    У вас только опечатка, "Решить вопрос можно просто, отключив опять же все это через function.php, добавив туда кучу кода: "

    functions.php нужный фаил

  19. Здравствуйте! Наблюдаю такую картину. Траф из Яндекса режется с января (+- так как там был праздники, но примерно в это время обновлял ВП как раз до 4.4). В это же время меня шаблон на сайте и менял некоторые урлы (делал редиректы). Изначально, просадка траффа у меня с этим ассоциировалась. Но очень долго не втыкал в вебмастере, что это за страницы такие wp-json. Думал просто хлам, который к тому же и не индексируется, Яндекс его сам в индекс не пускает. То есть ничего не предпринимал. Буквально пару недель назад прочитал про этот хлам, люди пишут, что в подобной ситуации тоже просадка трафа идет и падение позиций. И страницы эти тоже загружены, но не в индексе. Кто может что сказать на се счет? С какого перепугу Яндекс не дает индексацию этих страниц (то есть не портит себе выдачу), но в то же время понижает позиции сайта и придерживает траф? У кого вообще такое было из тех, кто не сразу обнаружил WP-JSON в вебмастере? Может кто-то дать вразумительный ответ на сей счет? Да и еще, я поставил clearfy, вроде этот плагин делает тоже самое и даже редиректы ( проверял, теперь у части этих страниц в вебмастере код 200, у части 301 и еще у части 404 (видимо яндекс не до конца все еще переиндексировал)). Внимание вопрос. Это так и должно оставаться или яндекс эти страницы уберет?

    • Вы напрасно думаете, что Яндекс не загоняет их в индекс, у некоторых загнал, наберите в Яндексе фразу /wp-json/oembed/1.0 и все поймете. Если сделаете, как описано в статье, то Яндекс страницы уберет, мой личный пример это показывает. В статье есть фото моего сайта с вебмастера, когда я это обнаружил, теперь смотрите как сейчас:

  20. Ну по этому запросу в яндексе уже вижу как с этим бороться, самих страниц нету, то есть индекс он почистил, даже если что-то и было. Я проанализировал метрику за последние месяцы начиная с января когда обновлялся. Да, действительно трафф падал постепенно. Как раз шло наращивание этих страниц в вебмастере яндекса. Но я посмотрел по вебмастеру, эти страницы в индекс не шли. Может ли это все-таки как-то сказываться на моем трафике или стоит искать причину в другом? Этот мусор как-то влияет вообще, если его нет в индексе? быть может тот факт, что этот мусор до апреля продолжал заходить у меня тоже как-то серьезно сказался на трафе?

    • Это не может быть причиной спада трафика, может что-то другое, покажите хоть сайт, может что увижу.

      • Ну у меня как раз шло с января вниз в то время, как этот мусор шел вверх, то есть постепенно страницы заливались. можно было бы грешить на смену дизайна и перенос некоторых страниц, но там я редиректы в ХТ аксессе прописывал. А так от апа к апу постепенно снижение трафа при том, что позиции, в целом, даже подросли. Иногда такое впечатление, что Яндекс намеренно не дает трафик сайту. Может быть так, что за ночь из поисковиков траф идет, а днем до обеда его почти нету. Раньше, до этих проблем, трафик шел равномерно весь день. ну то есть причин на что-то грешить нету. Тут еще сегодня сравнил метрику за квартал и график захода этих страниц и аккурат так совпадает. В принципе, яндекс же может выдачу настраивать по времени, насколько я понимаю. Если санкции есть, к примеру, в самое жаркое время может вообще не давать трафика, считая что на сайте есть ошибки (эти страницы). Черт его знает, честно если. Просто ничего другого на ум не приходит. Траф упал за это время почти в 4 раза. Да и читал у людей тоже в связи с этими страницами трафик падал. Вот думал может и у Вас такое было. По большому счету, этот мусор мешает индексации, как минимум. Что касается ранжирования, может тоже как-то затрагивает?

  21. Да и кстати, вот этот сайт prostolinux, вы сразу там заметили это? Была ли просадка в трафике? Восстановилось ли все сейчас, когда страниц нет этих мусорных?

    • Заметил на prostolinux.ru очень быстро и сразу ликвидировал. У меня там тоже трафик падает немного, но я просто сайт забросил пока, нет времени на него.

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

  23. Здравствуйте, сделал всё как написано в статье, и теперь при переходе по ссылке _http://powercoup.by/wp-json/oembed/1.0/embed/?url=http%3A%2F%2Fpowercoup.by%2Flyustra
    попадаю на главную страницу своего сайта, но адрес в строке браузера остается _http://powercoup.by/wp-json/oembed/1.0/embed/?url=http%3A%2F%2Fpowercoup.by%2Flyustra
    это нормально?

    • По идее не правильно, должно перебрасывать и на адрес главной. Лично я решил проблему на других сайтах по другому - откатился до версии wordpress 4.3, и нет проблем, мне вообще не нравятся все эти последние изменения, не обновляюсь и все.

  24. Ребята, так нужно закрывать эту гадость в robots.txt или вставки кода достаточно?

    • Так легко, допишите правило Disallow: /wp-json и все. Но и код лучше добавить, так как если в коде будет карта сайта на эту гадость, то и robots.txt может не помочь.

      • Спасибо, я уже откатилась на 4.3.4. Прирост скорости на 2% по PageSpeed Insights, нормальная вставка ссылок, вменяемый Page updated и никаких проблем со всякими wp-ебсонами))

          • Жутко тормозит админка. Есть идеи, кроме отключения обновлений, вырубания плагинов, очистки БД и смены хостинга?

  25. Сделал как Вы советовали. Все получилось.ю Перебрасывает на главную страницу. Спасибо. Я еще на всякий случай папку /wp-json/ запретил для индексации в robots.txt

  26. Добрый день! Спасибо огромное за подробные объяснения! Помогло!!!
    Но, если позволите, немного истории и сопутствующих вопросов.
    Обнаружила у себя в индексе эти самые мусорные страницы. Копирование кода из статьи не помогло. Спас код из файла. Кода там почему-то больше, и невозможно понять, за что отвечает каждый кусок, потому что вместо букв комментариев - "чертики". Можно ли как-нибудь прочитать все-таки эти коментарии (хотя бы первую строчку -, остальные есть в статье)? И не повредит ли сайту закрытие этого REST API (я попыталась понять, что это с помощью гугла и мне показалось, что это что-то важное)?
    Простите за глупые вопросы, но "я не волшебник - я только учусь" создавать и поддерживать сайты.
    Еще раз спасибо за помощь!

    • Этот REST API нужен лишь в некоторых случаях, если вы о них не знаете и у вас все работает, то значит оно вам и не нужно.

  27. Добрый день! Спасибо за статью. Сделал так, как вы указали, но есть один непонятный момент. При переходе по ссылке, загруженной яндексом:

    _http://site.ru/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fsite.ru%2Fназвание статьи%2F&format=xml

    попадаю на свою морду, но с урлом:

    _http://site.ru/?url=http%3A%2F%2Fsite.ru%2Fназвание статьи%2F&format=xml

    это ничего страшного? не является ли это дублем главной?

    и еще, при переходе на:

    _http://site.ru/wp-json/

    попадаю на морду с урлом:

    _http://site.ru

    все это нормально? или нужно предпринимать какие-то действия? буду благодарен за помощь.

    • То что попадаете на главную - это нормально, мы же сделали редирект. А в отношении других адресов не скажу, wordpress штука глючная и что там напихали - не знаю, наша задача закрыть этот мусор от индексации как минимум в robots.txt правилом Disallow: /*?* или подобными.

      • скажите, а есть ли смысл в данном случае сделать редирект на главную? и как его сделать в этом случае правильно?

        я нашел в сети вот это:

        add_action( 'template_redirect', function() {
        if ( preg_match( '#^/wp-json/(.*)#', $_SERVER['REQUEST_URI'] ) ) {
        wp_redirect( get_option( 'siteurl' ), 301 );
        die();
        }
        } );

        но куда его вписать - понятия не имею... да и как это правильно сделать... тоже не знаю... буду благодарен за любую подсказку...

        • Если страницу эти попали уже в индекс, то лучше редирект оставить, иначе будут там висеть пару лет и robots.txt может не помочь. Просто удалите этот код и редиректа не будет.

          • спрошу по другому. как сделать так, чтобы при переходе по загруженной странице выбивало ошибку 404?

          • За вывод 404 ошибки (по крайней мере оформления) отвечает шаблон вордпресс, но не всегда все это работает. Проверить легко: набираете произвольный несуществующий адрес и должны получить 404 ошибку. Если открывается главная, то нужно ставить плагин, который исправит косяк.

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

  28. Добрый день! Спасибо Вам за статью!

    После вставки кода, все эти ссылки с wp-json при нажатии ведут теперь на главную, но при этом грязное название статьи сохраняется. Подскажите пожалуйста, в этом случае можно оставить так или же еще добавить в functions.php код для 301 редиректа, чтобы уже при переходе была главная _http://site.ru без всего лишнего?

    Заранее спасибо!

  29. Поставил данный код, и через пару дней плюс 2000 страниц в поиске)) И при том что в файле роботс было закрыто от индекса *?* и /WP-JSON/. Даже не знаю что теперь делать))Может яндекс выкинет их со временем? А можно как нить дописать данный код и сделать 404 ошибку при урле /WP-JSON/?

    • Скорее всего Яндекс раньше скушал все эти страницы и при обновлении индекса их просто выложил. Нужно закрывать не только в robots.txt, а выкинуть xml карту из кода и вообще все закрыть как описано в статье, так как правила robots не обязательны для поисковиков, а скорее как рекомендация.

  30. Спасибо за статью, с этим кажется справилась, но поисковые системы не торопятся дубли удалять, видимо нужно .время.
    У меня еще вопрос есть вероятно вы это тоже знаете. Версия программы site auditor обнаруживает у меня много слишком длинных адресов, за счет проиндексированных динамических url, вида /?p=1245. Номера разные, а адресов много, откуда-то они взялись у меня на сайте. В файле robots.txt для Яндекса запретила, но бесполезно. В Гугле у меня совсем запретов нет, по причине бесполезности. Пожалуйста посоветуйте, что можно с этим сделать. Готовый код могу куда надо вставить, сама их писать не умею. Заранее спасибо, жду вашего ответа. Может быть статью напишите, не только у меня такая беда.

    • Все дело в том, что сам wordpress генерирует много всяких адресов и их нужно просто закрывать в robots.txt. Если вы их не закрыли и они у вас уже проиндексировались, то нужно много времени, возможно, пока Яндекс их удалит. Можете посмотреть мой robots.txt и взять себе что-то на заметку.

    • Мой вам совет - установите плагин Clearfy. Он платный, но стоит копейки. Устанавливать можно на несколько сайтов, обновляется, все дела. Как только вордпресс выкидывает фигню всякую, разработчики тут же все подчищают в обновлениях. Я купил и нисколько не пожалел - никакой чепухи, наподобие WP-JSON, больше нет!

      • Плагин хорошо, но это лишний вес, который тоже создаёт немало вопросов. Так что лучше без плагина обойтись если это возможно.

        • Порой лучше плагин поставить, если он простой и не грузовой, так как делать все в ручную очень сложно и получите в результате тот же код.

  31. Здравствуйте!
    Заметил что яндекс начашёл у меня страницу site.ru/wp-json
    При переходе по ней :
    Упс... Ошибка 404
    Извините, но страница, которую Вы ищете, не существует.
    Надо ли мне что-то делать или сайт сам справился?)

    • Можно поставить код из статьи, чтобы был редирект на главную, можно оставить и так, лишь бы не было дубля и мусорных страниц.

Написать комментарий

Опубликовано © Блокнот вебмастера