студия занимательная МИХАЛИКА
! Михалика - запросто с WordPress:
доступная ручная работа по правилам оптимального интернет(а)
Здравствуйте !

издатель:   в теме: Техническое SEO
студия занимательная МИХАЛИКА

Как отключить ссылку на виртуальную папку wp-json

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

Разработчики же вывели новый API REST на внутреннюю сцену ядра WordPress. Зачем? Бес их знает! Однако понятно одно, это для них целесообразно в плане развития движка. Замечательно!

Спрашивается: целесообразно ли мне какое-то не совсем понятное ПО в кодах моих сайтов..!?

Об этом и потолкуем:


…весьма недвусмысленно наблюдается отношение создателей WP к своей cms-клиентуре: ясно, что они преследуют свои цели, мягко говоря, мало заботясь о пользователях wp. Это тоже, в общем — нормально! Иначе ни о каком развитии не может быть и речи.

 

Что же остаётся нам!? а нам необходимо как-то подстроиться в течение времени, под паровой ход корабля Вордпресс…

…касаемо же нашей проблемы, то она замечательным образом решается (пространно болтать о своих изысканиях относительно API json вряд ли нужно, ибо уже много и доступно пояснено коллегами, ссылки ниже) а посему приступим, и перейдём к разделу:

 

 

 

 

как отключить ссылку wp-json

 

 

 

 

Если вы заходили к себе в веб инструментарий Яндекса, то в проиндексированных страницах наблюдали нечто похожее: а именно, среди прочего ссылочного пути некоторых линков встречается вензель wp-json

 

 

 

виртуальная папка wp-json

 

 

Я показываю то, что было у меня в вебмастере: вот проиндексированная ссылка…

 

Так вот …если вы кликните там у себя подобную ссылку — вас перенесёт в довольно-таки странное окно браузера: откроется страничка сплошь уписанная строками кода…

 

 

Кстати сказать, этот самый код программного обеспечения API REST несёт в себе всю информацию сайта, которую в свою очередь легко считывают приложения — удалённо.

Однако, как говорится — вопрос пользы API для многих пользователей, остаётся открытым).

 

 

В общем вряд ли есть смысл любоваться этакой изысканностью программного письма…

Кому интересно, можете начать изучение json хотя бы с этого… или с этого

 

 

Ещё вот — такая скринка «структуры» сайта (всё в том же вебмастере Яшки), правда, не очень качественная, но для наглядности сойдёт.

 

 

 

как убрать строку wp-json в шапке сайта

 

 

По картинке видно, сколько роботом яндекс обследовано json страничек, загружено/проиндексировано и процентная «доля страниц» в индексе.

 

 

Но — поехали))

 

 

ПАМЯТКА:

…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!

Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!

 

 

Остаётся только открыть легендарный файл functions.php и где-то перед ?> прописать следующие немаленькие строчки кода.

 

 

Кстати же, о файле функций, ниже будет очень полезная ссылка на статью, где научимся писать свой собственный плагин: в который правильнее перенести часть кода, направленного на регулировку параметров ядра WP — в шаблоне этот код не нужен! и пихать всё что ни поподя в functions.php не нужно!!

 

 

После того как установите нижепоказанный) код и… сразу же, кликнув по ссылке в панели web мастера Яндекс — вас перебросит на главную страницу вашего же сайта, но не страничку с кодом, о которой говорилось выше…

 

Вот так вот..!

 

 

 

 

/** ЧИСТОТА ШАПКИ САЙТА уборка wp-json **/
//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 );
//  Отключаем сам 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' );
// если будете выводить вставки из других сайтов на своем, то закомментируйте строку ниже
//remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’);
/** ЧИСТОТА ШАПКИ САЙТА уборка wp-json**/

 

 

wp_oembed_add_discovery_links ()

Добавляет oEmbed ссылки открытие в веб-сайте.

Исходный файл: WP-включает / embed.php

 

 

После того как вас (после клика в вебмастере) перенесло на главную страничку сайта, обратите внимание на путь (ссылку) в адресной строке браузера, которым, в этом случае, обозначена главная страничка!

 

Так вот-с! …странная будет ссылка. И хотя вряд ли кто-то и когда-то будет переходить по этой «замысловатой» ссылке (в том числе и поисковики) ибо отработка, скажем так, виртуальной папки и ссылки wp-json вследствие прописки нашего кода будет заказана (link из исходника и т.п. пропадёт) но порядка для (всё-таки 100% что либо утверждать невозможно) — думается, будет нелишне… разобраться с вопросом правильного редиректа на домашнюю страничку, чтобы оставалось одно доменное имя:

 

 

 

 

как правильно настроить редирект с http://mihalica.ru/wp-json/ на главную

 

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

Пропишите и этот код в файл functions.php…

 

Редирект…

 

 

/** редирект на главную wp-json **/
add_action( 'template_redirect', function() {
if ( preg_match( '#^/wp-json/(.*)#', $_SERVER['REQUEST_URI'] ) ) {
wp_redirect( get_option( 'siteurl' ), 301 );
die();
}
} );
/** ФИН редирект на главную wp-json **/

 

 

 

…и вновь кликнете в веб мастере по ссылке…

 

Теперь адресом заглавной страницы сайта будет чистое доменное имя.

 

 

Вот таким нехитрым способом мы убрали волнующие ссылки API REST из исходного кода блога/сайта.

 

 

 

как эпилог:

Я прекрасно жил совместно с API json с того момента как заведую этим блогом (месяцев семь): никаких явновыражанных ошибок и багов не наблюдал. В веб мастере да, в «структуре сайта» эта виртуальная папка присутствовала во всей красе… но, ещё раз повторюсь, никаких явных нарушений работы сайта не усмотрел… кроме тревоги от надуманных тысячных дублей страниц, однако —  многие о них в сети говорят, и толкуют скрижали апи скрипта по-своему…

 

 

 

В общем, лично для меня было не принципиально убирать JSON api, возможно, ошибаюсь… но, как говорится, до конца ещё не разобрался с целесообразностью API лично для себя, а посему было бы странно уверенно говорить о каких-то явных вредах или пользах)) связанных с этим программным обеспечением.

Как говорится, каждому решать сообразно со своими целями.

 

 

 

Так что принятие решения убрать/оставить json полностью зависит лично от вас! Я ради экса убрал: теперь понаблюдаем-с…

 

 

Технические инструкции json rest изучал в англоязычном сегменте… Вы же, коли есть желание посмотреть в глаза API-чуду и изучить лично, можете пройти по этой ссылке… или тем, которые выше.

 

 

 

В качестве дополнения к статье:

 

 

 

 

как скрыть версию WordPress — удаляем ненужные элементы wp_head

 

 

 

 

к очистке шапки сайта и личной совести)) чтобы удалить все теги функции wp_head (или почти все…) пропишите в файл функций строки показанные ниже…

Пояснения в комментариях:

 

 

/** ОПТИМИЗАЦИЯ ШАПКИ САЙТА - ПАГИНАЦИЯ - All In One SEO Pack **/
function my_remove_prev_link( $data ) {
return false;
}
add_filter( 'aioseop_prev_link', 'my_remove_prev_link' ); //убр. навиг - листалка главной страницы
add_filter( 'aioseop_next_link', 'my_remove_prev_link' ); //убр. навиг
/** ОПТИМИЗАЦИЯ ШАПКИ САЙТА - ПАГИНАЦИЯ - All In One SEO Pack **/

 

…и ещё…

 

/** ОПТИМИЗАЦИЯ ШАПКИ САЙТА **/
remove_action( 'wp_head', 'feed_links_extra', 3 );         // откл доп фид лент
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );                    // откл доп фид лент
remove_action( 'wp_head', 'wlwmanifest_link' );            // ссылки главную страницу, первый пост, следующий, предыдущий
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // ссылки главную страницу, первый пост, следующий, предыдущий
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Убираем связанные ссылки
remove_action( 'wp_head', 'wp_generator' );                           // запрет показа версии вордпресс
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); // Короткая ссылка, ссылка без ЧПУ
//add_filter( 'show_admin_bar', '__return_false' ); // запрет админбара
/** ФИН ОПТИМИЗАЦИИ ШАПКИ САЙТА **/

 

 

…только посмотрите внимательнее у себя в файле, сравните — не подключены ли у вас уже какие-то подобные функции (из строк показанных выше).

Дублировать не нужно!

 

 

 

 

 

как убрать полностью показ cms сайта (generator) и его версию

 

 

 

 

Обратите внимание на строку 13 в коде показанном выше… Посредством этой строки мы уберём следующий метатег в исходном коде:

 

 

<meta name="generator" content="WordPress 9.9.9" />

 

 

Вообще, стоило бы для начала поработать с файлом вашей темы header.php но касательно этой темы у меня написаны иные статьи…

Для чего все эти «закрывашки» нужны, думаю, вам известно!

 

…а значит пойдём дальше… ибо многие на этом этапе СКРЫТИЯ CMS останавливаются: рекомендую дочитать статью до финала!

 

 

 

 

как убрать отображение версии движка из фида-ленты

 

 

 

 

/*** защита сайта запрет показа версии движка сайта ***/
function remove_version() {
return '';
}
add_filter('the_generator', 'remove_version');
/*** защита сайта запрет показа версии движка сайта ***/

 

 

 

Теперь, ради эксперимента и уж коли коснулись защиты сайта, пропишите в адресной строке, например так:

 

http://mihalica.ru/wp-content/plugins/

ИЛИ http://mihalica.ru/wp-content/

 

!! Окно браузера должно быть пусто !!  …и если у вас не так… …то вот — чтобы ваш сайт был защищён от взлома, читайте здесь!

Не забудьте при тестировании своего сайта поменять имя моего домена на свой)

 

 

Ну и заодно уж не дадим взломщику-новичку, при его входе в админку, информацию о том что из: логин или пароль подобраны не правильно!

 

 

Далее в файле функций пропишите вот такой чудо код:

 

 

/** уберём подсказку - неправильный логин-пароль - при входе в админку **/
add_filter('login_errors',create_function('$a', "return null;"));
/** уберём подсказку - неправильный логин-пароль при входе в админку **/

 

 

 

как убрать отображение версии движка из фида-ленты

 

 

Обратите внимание на стрелку и сравните у себя!  поле при ОШИБОЧНОМ ВХОДЕ должно быть чисто — инфа удалена…

 

А вот об изменени самого адреса входа в адмипанель, читайте в этой статье о плагине Better WP Security

 

 

 

 

И ещё —

 

 

 

запретим показ версии WP в ссылках jquery…

 

 

 

 

Для чего это нужно? …всё для той же защиты! Таким образом мы постепенно избавляемся от следов CMS, на которой(ом)) работает наш сайт.

 

 

Помните !! если вы изначально неправильно подходили к процессу запуска своего сайта и не позаботились об отлаженной и верной работе при запуске проекта — тем проблематичные будет в пути…

Советую начать с этого, а там уж по ссылочкам и знаниям… …и конечно же подписывайтесь на обновления сайта…

 

 

 

 

…так вот; если вы внимательно всматривались в исходный код своего молоденького ресурса, то обращали внимание (ближе к началу страницы исходника) скажем, на ссылки jquery — в самом их финале (линка) выведены цифры (нумерация библиотек), в которых содержится нужная нам информация, а вместе с тем и полезная взломщику!

Так вот: мы, как админы, эту инфу и так знаем, а поэтому будет целесообразнее скрыть её от посторонних глаз…

 

 

запретим показ версий в МЕТА ссылках CSS и jquery

 

 

Вот и избавимся от этаких следов.

 

Пропишите в файл функций и эти строчки кода:

 

 

/** убираем версии показа ДВИЖКА из исходного кода, при подключении css и jquery **/
function vc_remove_wp_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
/** убираем версии показа ДВИЖКА из исходного кода, при подключении css и jquery **/

 

 

 

Можете посмотреть исходный код страницы после нашей редакции: НУМЕРАЦИЯ ВЕРСИЙ — в ссылках на подключение библиотек jquery css и т.д. — будет отсутствовать.

 

 

 

Очень важно !!

Прописка кода в файл functions.php, это дело хорошее !! Однако не всё и вся стоит в него пихать – правильнее (и для скорости загрузки в том числе) сгруппировать некоторые циклы кода в оформленном плагине: легко, надёжно и правильно в плане создания сайта.

Все доказательства «ЗА» читать:

Вот ссылка – как сделать собственный плагин WordPress – добавочный файл my-functions.php

 

 

 


На этом занавес представления опускается…

 

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!


!..подписываясь на обновления mihalica.ru
...расстаёмся с невежеством..!


 

…видео — благодарность комментатору за его первый отзыв: без плагина!

 

 


Если что-то не ясно, спрашивайте. Помогу… в чём дюжу.
Вместе мы многое сможем! Берегите себя и свой век - mihalica.ru


Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!


меточная навигация:


Комментарии © 5 к статье: Как отключить ссылку на виртуальную папку wp-json

  1. Спасибо. Очень информативная статья.

    Ответить - Nurlan

    • И Вам, Nurlan, спасибо за отзыв!!

      Ответить - Александр

  2. Очень статья помогла, спасибо.
    И это не пустой восторженный отзыв: конкретно нашёл скрипт правильного ридеректа на главный листок сайта.
    Спасибо братишка за то что собрал раскиданную инфу в полезную статью.

    Ответить - КайНиметов

    • И Вам спасибо Ни! за комментарий и слово доброе.

      Ответить - Михаил

      • …а тут перепутал пару раз ссылки с какими-то баннерами что ли…
        так прикидываю не забанят.
        А то ведь не все понимают чисто спасибо на хлебушек не взмазать.
        Мерси))

        Ответить - КайНиметов

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

Ваш e-mail не будет опубликован. Обязательные поля помечены *