Как скрыть тот факт, что сайт использует WordPress?

8 сент. 2010 г., 09:42:29
Просмотры: 57.4K
Голосов: 152

У меня есть веб-сайт, для которого мы пытаемся скрыть факт использования WordPress. Какие шаги мы можем предпринять, чтобы сделать это менее очевидным?

РЕДАКТИРОВАНИЕ - Важное замечание по безопасности:

Пожалуйста, поймите, что сделать это идеально невозможно, как указано в ответе Марка, поэтому не рассматривайте это как меру безопасности.

6
Комментарии

Почему вы хотите скрыть, что используете WordPress?

Wadih M. Wadih M.
10 сент. 2010 г. 19:24:38

@Wadih: Потому что мне так сказали

Casebash Casebash
11 сент. 2010 г. 14:47:05

Это безопасность через скрытность. Если кто-то действительно захочет, он может проанализировать поведение генерации страниц и доказать, что сайт работает на движке WordPress.

Wadih M. Wadih M.
20 сент. 2010 г. 19:57:52

@Wadih M. - "Безопасность через скрытность" - не единственная причина для этого. Один из моих клиентов хочет того же, но потому что они хотят продавать свои хостинговые услуги клиентам, которые будут сомневаться платить большие деньги, если подумают: "Черт, они просто используют WordPress." Так что это игра в брендинг/восприятие, а не в безопасность, по крайней мере для моего клиента.

MikeSchinkel MikeSchinkel
24 окт. 2010 г. 10:25:40

Шесть лет спустя так много сайтов используют WordPress, что никто вам всё равно не поверит. ;-)

cjbj cjbj
22 авг. 2016 г. 15:33:10

Как вообще кто-то собирается продавать сайт, скрывая факт, что это WP? Разве покупатель не спросит, на какой CMS сделан сайт, который он собирается купить? Если вы хотите солгать и исчезнуть после продажи, то это мошенническая сделка, и здесь не место для содержательных ответов.

T.Todua T.Todua
7 февр. 2021 г. 21:09:48
Показать остальные 1 комментариев
Все ответы на вопрос 13
11
131

Наибольшие признаки WordPress находятся между тегами <head> </head>.

Пример содержимого head в теме Twentyten и как его удалить:

<link rel="profile" href="http://gmpg.org/xfn/11" />

Удалить напрямую из header.php

<link rel="stylesheet" type="text/css" media="all" href="http://example.com/wp-content/themes/twentyten/style.css" />

Скрыть WordPress, вызвав таблицу стилей из другого места и изменив директорию wp-content. WordPress требует, чтобы ваша тема включала некоторую базовую информацию в верхней части style.css (style.css должен находиться в корневой директории темы). Вам нужно создать альтернативный CSS и вызвать его из head. WordPress не требует использования style.css темы, он только требует его наличия в директории темы.

Удалить напрямую из header.php

<link rel="alternate" type="application/rss+xml" title="Example Blog &raquo; Feed" href="http://example.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="Example Blog &raquo; Comments Feed" href="http://example.com/comments/feed/" />    
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />
<link rel='index' title='Example Blog' href='http://example.com/' />
<meta name="generator" content="WordPress 3.1-alpha" />

Чтобы удалить эти дополнительные ссылки, можно добавить фильтр в functions.php

// удаляем лишнее из head
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'feed_links_extra', 3);
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);

Вы можете изменить директорию плагинов и wp-content в файле wp-config.php, но могут возникнуть проблемы, если ваша тема или плагины не используют правильный метод для вызова файлов.

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/new-wp-content' );

Установите WP_CONTENT_URL на полный URI этой директории (без завершающего слеша), например:

define( 'WP_CONTENT_URL', 'http://example/new-wp-content');

Опционально Установите WP_PLUGIN_DIR на полный локальный путь к этой директории (без завершающего слеша), например:

define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/new-wp-content/new-plugins' );

Установите WP_PLUGIN_URL на полный URI этой директории (без завершающего слеша), например:

define( 'WP_PLUGIN_URL', 'http://example/new-wp-content/new-plugins');

ПЛАГИНЫ

Имейте в виду, что некоторые плагины, такие как Akismat, All in One SEO, W3-Total-Cache, Super Cache и многие другие, добавляют комментарии в HTML-вывод. Большинство из них легко модифицировать для удаления комментариев, но ваши изменения будут перезаписаны при обновлении плагинов.

wp-includes

Директория wp-includes содержит jQuery и другие JS-файлы, которые темы или плагины вызывают с помощью wp_enqueue_script(). Чтобы изменить это, вам нужно отменить регистрацию стандартных скриптов WordPress и зарегистрировать новое местоположение. Добавьте в functions.php:

function my_init() {
    if (!is_admin()) {
        // закомментируйте следующие две строки, чтобы загрузить локальную копию jQuery
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', false, '1.3.2');
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'my_init');

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

8 сент. 2010 г. 10:50:25
Комментарии

Chris_O: Отличный ответ! Наверное, стоит добавить, что если они используют плагины или темы, многие из них легко идентифицируются; например, если кто-то использует плагин akismet или all-in-one-seo, это всё равно довольно явный признак для тех, кто знает, что искать.

MikeSchinkel MikeSchinkel
8 сент. 2010 г. 20:02:51

@MikeSchinkel Верно, но в то же время, то же самое относится и к wp-includes, и к wp-admin; с той разницей, что вы не можете изменить ни один из них, ни скрыть без ограничения функциональности сайта.

John P Bloch John P Bloch
8 сент. 2010 г. 23:28:56

@John P Bloch: Безусловно, однако я бы сказал не но, а и. :)

MikeSchinkel MikeSchinkel
9 сент. 2010 г. 03:44:30

@MikeSchinkel: для wp-admin и wp-includes можно настроить контроль доступа через Apache, чтобы эти пути были недоступны для других пользователей, кроме администратора, например, приводя к стандартной ошибке 404.

hakre hakre
9 сент. 2010 г. 04:59:23

@Chris_O: Обратите внимание на register_theme_directory(), я думаю, это отличный способ скрыть директорию темы из папки "wp-content".

hakre hakre
10 сент. 2010 г. 19:50:21

@Chris_O Это специфично для WordPress?

<link rel="alternate" type="application/rss+xml" title="Example Blog » Feed" href="http://example.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="Example Blog » Comments Feed" href="http://example.com/comments/feed/" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" /> <link rel='index' title='Example Blog' href='http://example.com/' />

Lemon Bacon Lemon Bacon
29 сент. 2010 г. 03:03:50

@Chris_O Я попробую это. Но я не понимаю вот это: "Скрыть WordPress, вызывая таблицу стилей из другого места..." Я запутался, как это вызвать. Я новичок в WordPress и не знаю, как это сделать. Не могли бы вы, пожалуйста, сказать, какой код нужно ввести.

user391 user391
17 нояб. 2010 г. 19:46:53

А также вот это... "define( 'WP_CONTENT_URL', 'http://example/new-wp-content');..." Нужно ли мне копировать (или перемещать?) все файлы и папки из wp_content в новую папку? Спасибо!

user391 user391
17 нояб. 2010 г. 19:49:32

Эти define() должны содержать ABSPATH...

kaiser kaiser
14 дек. 2012 г. 23:46:24

@hakre: Это действительно гораздо более простое решение. Как лучше всего это реализовать? Не могли бы вы добавить новый ответ по этому поводу? Спасибо

Chibueze Opata Chibueze Opata
23 янв. 2013 г. 22:11:14

отличные уроки по wordpress :)

Balas Balas
20 окт. 2014 г. 23:00:42
Показать остальные 6 комментариев
2
47

Часто упускают один важный момент — удаление файла readme.html в корне WordPress. Этот файл не только идентифицирует установку как WordPress, но и содержит точную версию системы. И не забывайте повторять это действие после обновлений.

Связанный вопрос: Как запретить доступ или автоматически удалять readme.html, license.txt, wp-config-sample.php

13 сент. 2010 г. 09:25:13
Комментарии

Хорошее замечание — также можно использовать ваш .htaccess, чтобы всегда запрещать доступ к readme.html, и тогда не придётся беспокоиться о его удалении снова.

Tim Malone Tim Malone
28 апр. 2015 г. 03:57:30

...также смотрите http://wordpress.stackexchange.com/a/201805/13561

Frank N Frank N
6 сент. 2015 г. 09:50:14
3
22

Единственно верный ответ: НЕВОЗМОЖНО

Так много ответов с высокими рейтингами... пора внести ясность. Правда в том, что это практически невозможно, и даже если возможно, жизнь, вероятно, слишком коротка, чтобы тратить усилия на это. Любой ответ, предлагающий шаги для скрытия WordPress, просто тратит ваше время и вводит вас в заблуждение, заставляя думать, что вы скрыли WordPress (что абсурдно).

1) Проблема не в очевидных URL-адресах wp-*, мета-теге генератора и т.д. Главные проблемы связаны с паттернами, характерными для WordPress, которые самописная система не станет реализовывать, например: страницы авторов, страницы с датами (год/месяц/день), использование параметра p=nnn, форма комментариев с классами, структурой и названиями ссылок WordPress, а также самореклама плагинов кеширования и Yoast SEO (и, вероятно, многих других плагинов), которую можно увидеть только при анализе HTML.

2) Существуют и другие бесчисленные способы, выдающие использование WordPress (и с ними ничего не поделать):

  • Даже заголовки ответа PHP (как отметил Dan Gayle в комментариях ниже) содержат специфичный для WordPress заголовок.

  • Любой может запросить десятки корневых .php-файлов: site.com/wp-cron.php или site.com/xmlrpc.php (и т.д., которые невозможно скрыть), и в ответе будет статус 200, а не 404 not found.

  • Любой может проверить JSON-эндпоинты и получить специфичный для WordPress ответ.

  • В HTML страницы многие файлы .css или .js содержат фразы, явно указывающие на WordPress.

  • В HTML страницы легко найти элементы/классы CSS, например <div class="entry-content post-14"... и т.д. (что прямо указывает на структуру WordPress).

  • В HTML страницы легко заметить папку uploads, или даже если её переименовать через хардкод, то часть с датой, например uploads/2018/05/image.jpg (или даже image-315x225.jpg), выдаст типичную структуру WordPress.

  • Так как многие сайты теперь построены на Multisite, в ссылках используется, например, /site/2...

  • Запрос к readme-файлам плагинов/тем (которые есть у всех): например, plugin-name/readme.txt, возвращает статус 200.

  • И множество, множество, множество других вещей, которые вы (или даже профессионалы) не сможете скрыть и только потратите дни впустую!


Вывод

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

Вы можете ввести в заблуждение дилетантов, но не скроетесь от опытного аналитика. Если это делается в целях безопасности, то это "безопасность через скрытность", что всегда ошибочно. А если вам просто стыдно использовать WordPress, позвольте сказать: никому нет дела, и даже те немногие, кому есть, скорее всего, не смогут самостоятельно это выяснить.

Единственное, о чём стоит заботиться — максимально защитить WordPress и следить за регулярными обновлениями.

12 авг. 2015 г. 20:09:15
Комментарии

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

T.Todua T.Todua
13 окт. 2018 г. 20:56:16

конечно, добавляй.

Mark Kaplun Mark Kaplun
14 окт. 2018 г. 03:02:23

Я тоже проголосовал за этот ответ. Тратить время на скрытие WP ради безопасности через скрытность — бесполезно. Это не только не сработает, но и может сломать функциональность, если сделать это неправильно.

Remzi Cavdar Remzi Cavdar
24 окт. 2018 г. 21:18:44
1
20

Я всегда использовал метод Roots Theme.
Но применение его к тем ThemeJungle темам обычно вызывает сильную головную боль.

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

окно активности Safari
/m — это папка uploads, /t — папка themes, а /t/t — папка активной темы. Сайт не сложный, поэтому загружается мало ресурсов...


WP_CONTENTLESS

wp-config.php

Устанавливаем wp-content в корень сайта (/public_html/).

/** 
 Внутри WP_CONTENT должны быть следующие папки: 
 /languages, /mu-plugins, /plugins, /themes, /upgrade, /uploads  

 Определения WP_CONTENT_* ниже УДАЛЯЮТ существование папки /wp-content 
 и размещают её содержимое в КОРНЕ сайта

 КРАЙНЕ важно соблюдать осторожность при обслуживании файлов на сервере (например, обновления WP, смена администратора...), 
 так как папки Тем и Плагинов переименованы в /t и /p (они могут быть случайно удалены)

 ОБРАТИТЕ ВНИМАНИЕ:
 - мы меняем папку Плагинов в определениях WP_PLUGIN_*
 - папка Тем изменяется через MustUse-плагин 
   (/mu-plugins/set-extra-themes-folder.php)
 - папка Uploads изменяется в настройках WordPress 
   (http://example.com/wp-admin/options-media.php)
 - жёсткий путь для WP_CONTENT_DIR и WP_PLUGIN_DIR можно проверить с помощью действия внутри плагина set-extra-themes-folder (см. комментарии в этом файле)
*/
define( 'WP_CONTENT_DIR', '/www/htdocs/username/public_html' );
define( 'WP_CONTENT_URL', 'http://www.example.com' );

define( 'WP_PLUGIN_DIR', '/www/htdocs/username/public_html/p' );
define( 'WP_PLUGIN_URL', 'http://www.example.com/p' );

Я спросил об этом в [wp-hackers] - Any drawbacks in setting WP_CONTENT_DIR (and URL) to DOCUMENT_ROOT?, где John Blackbourn1, Mike Little2 и Otto3 любезно поделились советами:

1
Я использую такую структуру на сайте уже 18 месяцев и не заметил никаких проблем. Как и при любом изменении расположения папки контента, нужно проверять, что плагины не предполагают, что папка контента находится в wp-content.

2
В сети обсуждается, что $_SERVER['DOCUMENT_ROOT'] может быть уязвим для взлома. В этом случае это крайне опасно, потому что есть много мест, где используется require() или include() с WP_CONTENT_DIR 'something';

3
Бывают случаи, когда содержимое $_SERVER может быть безопасным, но в целях безопасности лучше всегда считать его ненадёжными данными. В данном случае лучше жёстко прописать путь.


Новая папка тем

/mu-plugins/set-extra-themes-folder.php

Поскольку констант WP_THEMES_* не существует, нам нужна функция register_theme_directory(), чтобы "Зарегистрировать директорию, содержащую темы."
Попытка установить дополнительную директорию в корень даёт забавные результаты (т.е. не работает).

<?php
/*
    Plugin Name: Set Extra Themes Folder
    Version: 1.0
    Description: Позволяет использовать директорию - http://example.com/t - как дополнительную папку тем
    Plugin URI: http://wordpress.stackexchange.com/questions/1507
    Author: brasofilo
    Author URI: http://rodbuaiz.com
*/


/**
 * Удалите комментарий со следующей строки, чтобы узнать правильный путь для register_theme_diretory()
*/
//add_action( 'admin_head', 'brsfl_alert_directory_path' );

function brsfl_alert_directory_path()
{
    echo '<script type="text/javascript">
        alert("Directory: '.$_SERVER['DOCUMENT_ROOT'].'");
    </script>';
}


/**
 * Следующий код позволяет использовать папку "t" как ДОПОЛНИТЕЛЬНУЮ директорию тем
*/
register_theme_directory( '/www/htdocs/username/public_html/t' );


/**
 * Отмена регистрации стандартных скриптов в wp-includes для CDN-версий
*/
add_action('init', 'brsfl_init_scripts');

function brsfl_init_scripts() 
{
    if ( !is_admin() ) 
    {
        wp_deregister_script( 'jquery' );
        wp_deregister_script( 'swfobject' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', false, '1.7.1' );
        wp_register_script( 'swfobject', 'https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js', false, null, true );
        wp_enqueue_script( 'jquery' );
        wp_enqueue_script( 'swfobject' );
    }
}

Папка загрузок

/wp-admin/options-media.php

Вместо http://example.com/uploads будет использоваться http://example.com/m.
Если снять галочку Организовать мои загрузки в..., URL-адреса ресурсов будут выглядеть более WPless.
Если сайт уже работает, необходимо выполнить поиск/замену в базе данных и переместить файлы.
настройки папки загрузок


Плагины и содержимое head

См. ответ Cris_O в этом Q&A.


Readme.html

См. ответ Rarst в этом Q&A.


Другие шаги

Как обычно, темы ThemeJungle могут потребовать специфических исправлений.
Например... TimThumb не работает (!!!лол!!!).

15 июл. 2012 г. 21:40:19
Комментарии

Извините, ThemeForest, похоже, вы предприняли шаги для решения этого вопроса. И с некоторой хорошей помощью!

brasofilo brasofilo
8 окт. 2012 г. 16:22:40
2
11

Вы можете разместить WordPress на одном сервере, а контент получать с другого сервера, включая только нужные вам материалы.

Если вам нужен RSS, вам придется делать то же самое и с ним.

По сути, это будет похоже на обслуживание статических страниц через прокси или CDN, но только с теми частями, которые вы хотите показывать.

Вы также можете использовать JavaScript-систему комментариев, такую как Disqus.

Очень низкое потребление ресурсов, так как на сервере, обслуживающем контент, нет баз данных.

13 сент. 2010 г. 01:58:25
Комментарии

@AndyBeard - Это очень интересная идея, но потребуется много времени на разработку, чтобы получить работоспособное решение. Или, может быть, вы знаете open source проект, где кто-то уже реализовал подобное?

MikeSchinkel MikeSchinkel
24 окт. 2010 г. 10:27:43

Вот одно из решений http://wordpress.org/extend/plugins/really-static/ - есть и несколько других вариантов

AndyBeard AndyBeard
24 окт. 2010 г. 17:56:33
4

Вы можете создать собственный адрес для входа в свой блог. Вместо использования стандартного пути "myblog.com/wp-admin" для доступа к панели управления, эта страница поможет вам создать скрытые логины, что также полезно для мер безопасности.

Так что люди, которые добавляют wp-admin к вашему блогу, не смогут угадать :)

8 сент. 2010 г. 19:49:27
Комментарии

Ссылка устарела, и плагин удалён.

kaiser kaiser
22 февр. 2012 г. 19:49:36

@kaiser : в Internet Archive Wayback Machine он есть (и, что удивительно, даже zip-архив) ;)

brasofilo brasofilo
15 июл. 2012 г. 20:08:09

@kaiser brasofilo - спасибо, парень, что продолжил отвечать :) я тоже сохраню это

mireille raad mireille raad
16 июл. 2012 г. 14:09:20
0

Помимо вышеперечисленного, необходимо заблокировать доступ к различным файлам и директориям wp*. Если кто-то захочет проверить, используете ли вы WordPress, он может попытаться угадать наличие файла wp-settings.php или доступ к некоторым директориям. Возврат ошибки 403 недостаточен, так как это сообщает пользователю, что ресурс существует; просто у него нет доступа к нему.

Я не являюсь экспертом по Apache, поэтому задал этот вопрос на serverfault.

19 июн. 2011 г. 08:41:05
0

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

$ curl -I http://www.rollingstones.com/
Server: WP Engine/5.0

$ curl -I http://www.mattcutts.com
X-Powered-By: W3 Total Cache/0.9.1.3

$ curl -I http://blogs.reuters.com/us/
WP-Super-Cache: Served supercache file from PHP

Некоторые из этих заголовков устанавливаются сервером, другие — плагинами, поэтому нет единого способа полностью их удалить. Однако если вы используете PHP 5.3, вы можете применить функцию

header_remove("X-Foo"); (http://www.php.net/manual/ru/function.header-remove.php)

для удаления известного PHP-заголовка перед отправкой контента. Я не могу с уверенностью сказать, куда именно вставить этот код (возможно, кто-то дополнит эту информацию), но, скорее всего, безопаснее всего разместить его в самом верху файла index.php ДО любого контента, который отправляется в браузер.

1 янв. 2014 г. 03:40:15
0

Это может быть сложно реализовать, если вы новичок в php и mod_rewrite. Рекомендую ознакомиться с соответствующей частью моего ответа. Или попробуйте сами, вы можете использовать что-то подобное, чтобы скрыть структуру пути wp-content/plugins:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^modules/(.*) /wp-content/plugins/$1 [L,QSA]
</IfModule>

Это изменит путь на /modules. Используйте нечто подобное для других структур, вам могут понадобиться более продвинутые правила перезаписи, дополнительную информацию о mod_rewrite можно найти по ссылке http://httpd.apache.org/docs/current/mod/mod_rewrite.html.

Если предпочитаете готовые решения, есть несколько хороших плагинов, как коммерческих, так и бесплатных в репозитории WordPress, рекомендую попробовать WP Hide & Security Enhancer. Он включает множество функций и помогает изменить практически всё, чтобы сделать ваш WordPress неузнаваемым. Вот некоторые возможности кода:

  • Пользовательский URL админки
  • Заблокировать стандартный URL админки
  • Блокировка прямого доступа к папкам для полного скрытия структуры
  • Пользовательское имя файла wp-login.php
  • Блокировка стандартного wp-login.php
  • Блокировка стандартного wp-signup.php
  • Блокировка XML-RPC API
  • Новый путь XML-RPC
  • Настраиваемый URL темы
  • Новый URL дочерней темы
  • Изменение имени файла стилей темы
  • Пользовательский wp-include
  • Блокировка стандартных путей wp-include
  • Блокировка стандартного wp-content
  • Пользовательские URL плагинов
  • Индивидуальное изменение URL плагинов
  • Блокировка стандартных путей плагинов
  • Новый URL загрузок
  • Блокировка стандартных URL загрузок
  • Удаление версии WordPress
  • Блокировка Meta Generator
  • Отключение emoji и связанного javascript кода
  • Удаление тега pingback
  • Удаление Meta wlwmanifest
  • Удаление Meta rsd_link
  • Удаление wpemoji

и многое другое..

25 мар. 2016 г. 13:53:34
0

Я не хочу повторять варианты кодирования, так как они уже были подробно рассмотрены. Другой известный мне вариант, который работает – это использование плагина для скрытия wp. Я уже использовал этот плагин с удовлетворительными результатами. Он называется Hide My WordPress.

25 мар. 2015 г. 11:54:56
0

Большинство ответов сосредоточены на сокрытии WordPress в исходном коде страницы, но еще до этого стандартная установка WP выдает себя в HTTP-заголовках. Протестируйте свой сайт на сервисе вроде web-sniffer (эмулируя IE 6 и запрашивая HTTP 1.0 заголовки), и вы увидите среди прочего:

<http://www.example.com/wp-json/>; rel="https://api.w.org/"

Это ссылка на API Wordpress.org. Она появляется с момента включения REST API в WP 4.4. Удалить её можно этой строкой в начале файла functions.php:

remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );

Многие плагины, например Jetpack для своих коротких ссылок, также могут добавлять ссылки в HTTP-заголовки. Они могут это делать благодаря HTTP API WordPress, который позволяет манипулировать заголовками. Вы можете использовать этот интерфейс для удаления всех настроек заголовков от плагинов, если добавите своё действие достаточно поздно в процессе.

Наконец, вы можете использовать интерфейс заголовков .htaccess для перехвата действий WordPress. Например, можно запретить отправку любых Link-заголовков, добавив эти строки:

<IfModule mod_headers.c>
Header unset Link
</IfModule>
22 авг. 2016 г. 16:55:20
1

Вы можете настроить тему, чтобы исключить всю информацию о WordPress. Также удалите мета-виджет и любые другие виджеты, которые выводят информацию о платформе.

Лично я предпочитаю выражать благодарность, указывая, что использую WordPress.

8 сент. 2010 г. 18:43:28
Комментарии

Благодарность — это прекрасно, но она не отвечает на главный вопрос.

ZaMoose ZaMoose
8 сент. 2010 г. 19:46:56
0
-1

Вы можете использовать плагин WPS Hide Login.
По умолчанию вход в WordPress осуществляется через wp-admin. Но с этим плагином вы можете изменить wp-admin на любой другой адрес.

Пример:

До: http://example.com/wp-admin
После: http://example.com/custom-text-to-login

10 июл. 2017 г. 19:01:02