- 404 error while requesting /wp-json/ #1509
- Comments
- kdpuvvadi commented Aug 27, 2015
- rachelbaker commented Aug 27, 2015
- kdpuvvadi commented Aug 27, 2015
- joehoyle commented Aug 27, 2015
- kdpuvvadi commented Aug 27, 2015
- kdpuvvadi commented Aug 27, 2015
- joehoyle commented Aug 27, 2015
- kdpuvvadi commented Aug 27, 2015
- pateljj04 commented Aug 27, 2015
- kdpuvvadi commented Aug 28, 2015
- eliorivero commented Sep 21, 2015
- pateljj04 commented Oct 5, 2015
- kdpuvvadi commented Dec 3, 2015
- Zeladgolan commented Dec 17, 2015
- hyyan commented Apr 9, 2016
- hyyan commented Apr 9, 2016
- zzimbler commented Jun 17, 2016
- TheDiamondYT1 commented Sep 14, 2016
- edu-hub1107 commented Nov 8, 2016 •
- ohohohoo commented Dec 8, 2016
- /wp-json/wp/v2/posts url throws a 404? #1489
- Comments
- TDNewtonian commented Aug 20, 2015
- jaredcobb commented Aug 21, 2015
- jamietanna commented Aug 21, 2015
- jjeaton commented Aug 21, 2015
- joehoyle commented Aug 21, 2015
- jamietanna commented Aug 21, 2015
- TDNewtonian commented Aug 21, 2015
- joshrouwhorst commented Jun 28, 2016
- Избавляемся от дублей страниц Wp-json и смайлов Emoji после обновления WordPress
- Зачем ввели новый REST API в WordPress, итог
- Как убрать Wp-json, Oembed, Embed
- Как убрать Emoji из WordPress (смайлы Эмодзи)
- Ответ не является допустимым ответом JSON.
404 error while requesting /wp-json/ #1509
Comments
kdpuvvadi commented Aug 27, 2015
i’ve permalink structure as /post-name/ and and plugin is activated, when i request /wp-json/ from rest console or from my IDE(Visual studio) i’m getting 404 error and i thought some thing wrong with VS and tested in browser and it is redirecting to 404 page. website is running on Ubuntu 15, with apache 2.4, basic lamp setup on Azure.
And super cache plugin is enabled on wordpress setup.
How can i possible solve this anyway?
The text was updated successfully, but these errors were encountered:
rachelbaker commented Aug 27, 2015
@kdpuvvadi Try using /wp-json/ instead. You appear to have an errant a in the path you are requesting.
kdpuvvadi commented Aug 27, 2015
it was spell mistake, i’m using /wp-json/ only,
joehoyle commented Aug 27, 2015
@kdpuvvadi are you able to access the API at /?rest_route=/ ? (for example, http://demo.wp-api.org/?rest_route=/)
kdpuvvadi commented Aug 27, 2015
yes and it is showing mysite.com/wp-json but is giving 404 error
kdpuvvadi commented Aug 27, 2015
this is the response i’m getting
joehoyle commented Aug 27, 2015
@kdpuvvadi what version of the plugin are you using?
kdpuvvadi commented Aug 27, 2015
pateljj04 commented Aug 27, 2015
I am having a similar issue, I can hit ?json_route=/posts&type=page and works fine, but using /wp-json/ shows 404. The routes seem to be setup — I have pretty links on and i have flushed rewrites.
^wp-json/?$ index.php?json_route=/ other
^wp-json(.*)? index.php?json_route=$matches[1]
kdpuvvadi commented Aug 28, 2015
After Deactivating and reacting the plugin i’m getting error 500 in return,
eliorivero commented Sep 21, 2015
Hi, can you verify that you’re also adding the namespace in the request URL? it should be something like
this is one of the routes that the plugin registers, the default namespace is wp/v2.
Note that if you’re registering your endpoint, it’s strongly suggested that you add your own namespace.
pateljj04 commented Oct 5, 2015
I think this issue is on the stable version not V2.
kdpuvvadi commented Dec 3, 2015
This was fixed after upgrading to version 2 beta 7.
Zeladgolan commented Dec 17, 2015
Just upgrade the wp plugin to latest, This will be fixed.
hyyan commented Apr 9, 2016
I am having the same problem with beta13 , any idea ?
hyyan commented Apr 9, 2016
Sorry , it is the server configuration fault , the rewrite module was not enabled
zzimbler commented Jun 17, 2016
Just an FYI, currently running v2 of the plugin and WordPress version 4.5.2 via MAMP on a mac and still get the 404 error. You can still access it at the ?rest_route url. Permalinks are disabled. This isn’t really a big deal since we can access it, but it was a pain in the butt to initially figure this out
TheDiamondYT1 commented Sep 14, 2016
You need permalinks enabled
edu-hub1107 commented Nov 8, 2016 •
Its very simple, the namespace in the request URL must be like this —
http://domain.com/wp-json/posts/
I hope it works.
ohohohoo commented Dec 8, 2016
So after upgrading into WP4.7 on my test machine (with wp-rest-api plugin still activated and later deactivated) I’m having this issue on my end too. I received JSON rest_no_route when accessing /wp-json/ directly, but when I tried to access it via ?rest_route=/ . it works just fine.
Accessing custom route via /wp-json/my/own/custom/route is good. Accessing /wp-json/wp/v2/ also okay and it display all the namespace. But not /wp-json/.
Back then on WP4.6 with 2.15 Beta rest api plugin I never experienced this issue. This issue is appear after I upgraded to WP4.7.
Anyone has any idea on what could cause this?
/wp-json/wp/v2/posts url throws a 404? #1489
Comments
TDNewtonian commented Aug 20, 2015
I’ve got my wordpress blog up and am trying to get the posts at my blog using the /wp-json/wp/v2/posts address. It’s throwing a 404. I’ve triple checked and the address should be right.
Any thoughts on why this is happening? I’m running WP 4.3.
The text was updated successfully, but these errors were encountered:
jaredcobb commented Aug 21, 2015
Are you using pretty permalinks on your blog? (Any structure other than the default) https://codex.wordpress.org/Using_Permalinks#Choosing_your_permalink_structure
jamietanna commented Aug 21, 2015
Not OP, but also seeing the same issue on 4.3.
I’m running the default permalink settings, and when browsing to http://$siteurl/wp-json/wp/v2/posts I also get a 404.
jjeaton commented Aug 21, 2015
@jamietanna you aren’t able to use the default permalink settings with the WP-API plugin, you must choose from one of the «pretty permalink» settings.
joehoyle commented Aug 21, 2015
If you are using default permalinks (query params) you can access the API at ?rest_route=/ , for example http://demo.wp-api.org/?rest_route=/
jamietanna commented Aug 21, 2015
Thanks both — looks like I’ve got an issue with rewriting as all I get is 404s when I change permalink settings.
TDNewtonian commented Aug 21, 2015
Yep! Pretty permalinks were the problem. Thanks for the tip!
joshrouwhorst commented Jun 28, 2016
For anyone else who might run into this.
I suddenly ran into this issue when I updated my UI. I realized I sent a new version of the .htaccess file. To fix, I went into the Permalinks section, switched my settings from «Post name» to «Plain», saved, then switch back and saved again. It started working at that point.
Избавляемся от дублей страниц Wp-json и смайлов Emoji после обновления WordPress
Всем читателям seoslim.ru привет! В прошлой статье я рассказывал каким образом можно в одни клик избавиться от ошибок в коде WordPress, дублей страниц, защитить сайт от посягательств из вне и прочих недочетов, которыми страдает бесплатная CMS.
Так что кто не хочет ковыряться в кодах и прибегать к услугам фрилансеров самое время воспользоваться плагином Clearfy, пока цены адекватные.
Использовать универсальный модуль — это здорово, но у большинства вебмастеров, которые ведут свои проекты ни один год, до обновления Вордпресс 4.2 и 4.4 версий не испытывали с ним проблем, так как ранее все уже было настроено, оптимизировано, а коды почищены от мусора.
Но пару месяцев назад произошло несколько кардинальных обновлений CMS, принесшие кроме плюсов и ряд значимых минусов в виде дублей страниц Wp-json и дополнительной нагрузки на сайт поддержкой смайликов Emoji.
Так что давайте разбираться с какой целью разработчиками были добавлены данные элементы в движок и самое главное научимся отключать wp-json и emoji.
Зачем ввели новый REST API в WordPress, итог
Так получилось, что после обновления Вордпресс до версии 4.4 владельцы сайтов стали замечать увеличение загруженных страниц роботами в панели Яндекс Вебмастер.
Как видно на скрине выше структура сайта немного изменилась и появилась новая директория wp-json, а вместе с ней и поддиректории oembed, 1.0, embed.
Причиной тому явился новый интерфейс REST API под управлением, которого и работает CMS.
Скорее всего это сделано с перспективой на будущее, таким образом разработчики будут получать доступ к данным наших сайтов через специальные приложения.
Вот только жаль, что идея не доведена до совершенства, так как никто не удосужился закрыть от поисковиков код служебных директорий.
Как итог дубли страниц wp-json стали постепенно появляться в выдаче ПС.
Введя в адресной строке браузера http://site.ru/wp-json, мы попадаем на точную копию главной страницы сайта или страницу с непонятным кодом.
Беда в том, что данная страница существует (не отдает 404 ошибку и не срабатывает редирект), поэтому велика вероятность, что роботы поисковиков ее проиндексируют.
Как убрать Wp-json, Oembed, Embed
Удаление строк этого кода из WordPress возможно с помощью внесения изменений в файл functions.php вашего шаблона.
А именно надо прописать специальные команды, которые уберут эту заразу, а при переходе на страницу http://site.ru/wp-json последняя будет отдавать 404 ошибку.
Итак находим в папке с нашей темой файл functions.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 ); remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );
Для того чтобы убедиться в правильности своих действий сделайте следующее:
- Перейдите по адресу http://site.ru/wp-json — такой страницы не должно существовать (появится «Ошибка 404»).
- Посмотрите исходный код любой страницы (нажатием клавиш «Ctrl+U») — не должно быть ссылок на https://api.w.org/ и /wp-json/oembed/1.0/.
Не знаю почему, но у меня на этом боге такой прием не до конца сработал, так как при переходе на https://seoslim.ru/wp-json почему то 404 ошибка не выдавалась, поэтому пришлось в файле дописать еще один код на 301 редирект.
Теперь остается только ждать, когда выпадут все страницы из панели Яндекса, думаю через пару апдейтов можно будет забыть о дублях.
Как убрать Emoji из WordPress (смайлы Эмодзи)
Второе нововведение в популярной CMS произошло немного раньше, чем наделавшие шумихи дубли wp-json.
С версии 4.2 WordPress поменял свои стандартные смайлики на Emoji, которые появились в Японии и прижились в социальных сетях VK, FC, OK, G+ и других.
И вроде бы ничего в этом плохого нет, но не меня одного смутил тот факт, как это реализовано в Вордпресс.
1. Почему разработчики не дали право выбора владельцам сайтов включать или нет данные смайлы.
2. Скрипт и стили подгружаются прямо в секции.
Чтобы проверить есть ли код на вашем проекте откройте исходный код любой страницы «Ctrl+U» и сделайте поиск по слову «emoji».
3. Так как новые картинки больших размеров 72х72px то на многих площадках могло измениться отображение комментариев.
Для того чтобы отключить загрузку эмоджи достаточно внести правки в файл functions.php темы вашего сайта.
Открываем данный файл и добавляем в самый конец перед ? > следующий код:
// отключаем Emoji смайлики remove_action( ‘wp_head’, ‘print_emoji_detection_script’, 7 ); remove_action( ‘admin_print_scripts’, ‘print_emoji_detection_script’ ); remove_action( ‘wp_print_styles’, ‘print_emoji_styles’ ); remove_action( ‘admin_print_styles’, ‘print_emoji_styles’ ); remove_filter( ‘the_content_feed’, ‘wp_staticize_emoji’ ); remove_filter( ‘comment_text_rss’, ‘wp_staticize_emoji’ ); remove_filter( ‘wp_mail’, ‘wp_staticize_emoji_for_email’ );
Не забудьте сохранить все изменения и выполнить проверку все тем же поиском слова «emoji» в исходном коде.
Если его упоминаний нет, значит сделали все правильно.
Для тех, кто не любит копаться в файлах шаблона, но хочет избавиться от данных проблем есть решение в виде плагина Clearfy , после установки которого мусорный код из WordPress будет удален автоматически.
На этом все, а вы уже решили проблемы CMS после обновления на своих проектах?
Ответ не является допустимым ответом JSON.
Здравствуйте! К сожалению из подобных тем ответа не нашел. Проблема следующего характера: при изменении статьи WordPress выдает «Updating failed. Ответ не является допустимым ответом JSON» и статья не пересохраняется. Здоровье сайта говорит «Запрос к REST API завершился с неожиданным результатом: (404) [производительность]». Произошло после обновления WordPress. До этого еще производил манипуляции по переезду сайта с http на https. Переводил с помощью плагина search & replace. Тема не стандартная, была разработана под мой сайт. Соответственно еще менял на https общих настройках в «Адрес WordPress (URL)».
постоянные ссылки на сайте работают?
зайдите в консоль-настройки-постоянные ссылки,
нажмите сохранить, ничего не меняя
Что вы имеет в виду под работой постоянной ссылки? Структура у меня произвольная https://sitename/%category%/%postname%.html. После сохранения есть надпись «Структура постоянных ссылок изменена.» Если вы об этом.
можете зайти? что выдает?
Не совсем вас понял.
seytee, привет.
постоянные ссылки на сайте работают?
То есть, чтобы это проверить, нужно выполнить следующее:
зайдите в консоль-настройки-постоянные ссылки,
нажмите сохранить, ничего не меняя
В админпанели сайта, через меню (слева) переходите в «Настройки» — «Постоянные ссылки», там не делаете никаких изменений, просто нажимаете на кнопку «Сохранить» в конце страницы.
Здравствуйте, m0ze. Я это уже делал. Как я писал выше после сохранения есть надпись «Структура постоянных ссылок изменена.» Изменения сохраняются.
Решение проблемы пока не нашел, вопрос актуальный.
Вот и у меня проблема почти идентичная, только плагин для HTTPS другой. А вот ошибки те же, и ничего не помогает.
Не задавайте вопросы в чужих темах — для полноценного обсуждения создайте свою.
Правила форума
Тем более, что «почти».
Тема создана, просто искал варианты решения проблемы. Прошу прощения если нарушил правила.
Поменял постоянные ссылки на простые и заработало.
Но мне надо работать на «Название записи»
Там выходит эта чертова ошибка))
Поменял постоянные ссылки на простые и заработало.
Но мне надо работать на «Название записи»
Там выходит эта чертова ошибка))