Оптимизация базы данных mysql. Как снизить нагрузку на хостинг? Часть первая
Привет всем!
Сегодня мы с вами рассмотрим такое понятие, как оптимизация базы данных mysql! Об этом я сам узнал совсем недавно и спешу поделиться с вами, т.к. информация, которую я вам сейчас расскажу очень ценная!
Для чего все это нужно? На что влияет? Как воплотить в реальность? На все эти вопросы я постараюсь дать четкий ответ в этом посте!
А теперь небольшая предыстория. В общем, недавно получил письмо на свой e-mail адрес, следующего содержания:
В течение последних 3 дней средний уровень нагрузки, создаваемый Вашим аккаунтом *******, составил 119% от допустимого уровня Вашего тарифного плана. Мы рекомендуем Вам перейти на тарифы VPS. Обращаем Ваше внимание, что в случае регулярного превышения лимитов, мы оставляем за собой право заблокировать Ваш аккаунт согласно пункту Договора...
Оба на, приплыли — подумал я в тот момент! Согласитесь, не очень приятно получать такие письма. А так как с подобного рода проблемой я столкнулся впервые, представляете, в каком я был недоумении? Моему возмущению не было предела! Какой нафиг VPS? Я можно сказать только обжился на одном тарифе, а мне тут предлагают перейти на виртуальный хостинг, который в три раза дороже. Ну нет уж ребята, — думаю я, — еще рановато.
Пишу в обратку письмо моему хостеру, с просьбой пояснить мне, с какого это перепуга у меня зашкаливает нагрузка? Ведь моему блогу всего-то два с небольшим месяца от роду. Да и посещаемость не велика. В общем, пишу, что категорически против переходить на VPS, считаю, что это не целесообразно на столь раннем этапе развития ресурса и прошу указать мне на мои ошибки, что с ними делать и как в дальнейшем их контролировать!
В ответ получаю следующее:
Уважаемый абонент, мы вас не собираемся отключать именно сейчас, это банальное предупреждение, но мол надо с этим, что-то делать. Проблема превышения нагрузки не зависит напрямую от посещаемости, а в большей степени зависит от не правильной оптимизации вашего ресурса. Для отслеживания нагрузки мы вам вывели в панели управления счетчик, который обновляется каждые 10 минут:
Ну спасибо за разъяснения, — думаю про себя. Пойду изучать проблему. Набрав в интернете запрос «как снизить нагрузку на хостинг» понял, что я не один такой, а на самом деле проблема довольно актуальная. И рано или поздно коснется многих. Ознакомившись более детально с проблемой, понял, что у меня есть два выхода из данной ситуации:
- Обратиться за помощью к профессионалам (фрилансерам), заплатив им определенную сумму денег, что всегда успеется.
- Постараться устранить проблему самому.
Так вот, я выбрал второй вариант и скажу вам честно, пока что ни на грамм не пожалел. Мне удалось снизить нагрузку на хостинг в два-три раза. Вот посмотрите сами:
Разница, на лицо! Сейчас я вам покажу и расскажу, что я для этого сделал:
— оптимизировал базу данных mysql, что существенно отразилось на снижении нагрузки на хостинг и ускорении wordpress;
— избавился от порядка 8 ненужных плагинов.
— ускорил wordpress, отредактировав несколько файлов темы своего блога.
Так как материал довольно таки объемный, я решил разбить его на три части. Из этой статьи вы узнаете, как снизить нагрузку на хостинг за счет оптимизации базы данных. В следующей статье я вам расскажу, как заменить часть плагинов кодами. И последняя статья будет на тему ускорения блога. Когда я все это проделал со своим ресурсом, я был в шоке над тем, как мой блог стал грузиться! По сравнению с тем, что было — он стал летать.
В общем, материал, который вы почерпнете из этих трех постов, будет ну просто обалденным. Не пропустите,
Оптимизация базы данных
Прежде чем вы начнете производить различные действия с базой данных, обязательно делайте резервную копию. Чтобы в случае возникновения проблем можно было все быстренько восстановить. База данных содержит всю историю вашего ресурса, в ней хранятся все записи, присутствующие на вашем блоге! А вообще, советую вам взять за правило сохранять базу данных каждый день! Это у вас займет буквально 1 минуту, но зато вы будете всегда спать спокойно. Сами понимаете может случится всякое.
1. Делаем резервную копию базы данных
Для удобства соединения с сервером и обработки данных я пользуюсь FTP — клиентом FileZilla. Очень классная штука, как-нибудь напишу об этом клиенте отдельный пост,
В итоге вы должны оказаться вот на такой странице, phpMyAdmin:
Заходите в базу данных, кликнув по ее названию. Перед вами откроется таблица базы данных (кликните для увеличения):
Нажимаете «Экспорт» и «ОК». Сохраняете на своем ПК. Все, база данных сохранена, теперь можем приступать к ее оптимизации. Обратите внимание, если на вашем хостинге присутствует поле «Сохранить как файл» не забудьте напротив него поставить галочку! А также запомните, сколько весит в данный момент ваша база данных, а потом посмотрите сколько она будет весить после оптимизации.
У меня она весила до оптимизации 26 Mb — это УЖАС, а что сейчас? А сейчас она весит всего 2 Mb! Представляете, сколько всякого ненужного хлама она содержала в себе? Представляете, какую нагрузку она создавала на сервере? После оптимизации базы данных, мой блог стал летать, как реактивный самолет! В общем, после того как вы проделаете все ниже описанные действия, вы почувствуете существенную разницу!
2. Отключаем ревизии постов и устанавливаем минимальный срок хранения удаленных файлов в корзине
Что такое ревизия постов? Когда вы пишите пост в блог, wordpress автоматически, через определенный промежуток времени, сохраняет резервную копию каждого поста в базе данных, в общем, делает авто сохранение. А теперь представьте когда вы напишите 50 постов на блоге? Сколько копий постов у вас будет сохранено? Это ЖЕСТЬ! Пока вы пишите пост, у вас уже как минимум проходит 10 авто сохранений!
Плюс ко всему этому, если вы удаляете файлы, они у вас скапливаются в корзине, что также нагружает базу данных. Конечно, хорошо если вы сразу удалите файл и из корзины, но частенько случается, что многие про это забываю, а некоторые просто забивают! А это ой как не хорошо... База все растет, нагрузка на сервер все больше и больше, блог грузится все медленнее и медленнее... Вы задумывались, к каким последствиям это может привести?
Вот основная часть последствий, но далеко не всех: снижение индексации, частые отказы, ухудшение поведенческих факторов, понижение позиций в выдаче поисковиков... А дальше, автор в подает в отчаяние от не оправданных ожиданий. Желание вести блог со временем пропадает и все! КРАХ!
Все это я к чему говорю? За базой данных постоянно нужно следить и содержать ее в надлежащем состоянии. Поймите, база данных — это как сердце блога. При постоянной нагрузке на сердце не нужным хламом, со временем оно не выдержит и ОСТАНОВИТСЯ! Я думаю, вы меня поняли? Поэтому хватит ужастиков и переходим к оптимизации базы данных.
Итак, открываем файл wp-config.php, он находится в корне вашего блога, т.е. ваш хостинг/httpsdocs или public_html (в зависимости от хостинга)/wp-config.php. И вставляем в него две строчки:
1 2 | define('WP_POST_REVISIONS', false); define('EMPTY_TRASH_DAYS', 1); |
Строка №1 отключает ревизию постов, строка №2 означает, сколько дней будут храниться удаленные файлы в вашей корзине. Как видите, я поставил «1», можно конечно поставить и «0», но если вдруг по неосторожности у вас дрогнет рука и вы нажмете на ссылку «удалить», все — КАПЕЦ!
А после просиживания за компом 5-8 часов, поверьте мне, это возможно! Так что я предпочитаю оставить циферку «1». Конечно, после удаления файла лучше сразу же почистить корзину вручную, но если даже вы забудете это сделать, спустя сутки файл из корзины автоматически удалится! Вот как это выглядит у меня:
С этим разобрались, идем дальше.
3. Удаляем ревизии постов
Если в предыдущем пункте мы отключили ревизию постов, то в этом пункте нам нужно удалить все ревизии постов, скопившиеся за все время ведения блога. Если вы этого не разу не делали, то у вас сохранилось их невероятно большое количество! Давайте это сделаем. Копируем вот эту строку:
DELETE FROM wp_posts WHERE post_type = "revision" |
Переходим снова в базу данных MySQL, как описано в первом пункте. Заходим во вкладку SQL, вставляем в поле скопированную строчку и нажимаем «ОК»:
База данных спросит:
Отвечаем «ОК» и смотрим, сколько не нужных ревизий постов содержала в себе ваша база данных, и сколько времени уходило на то, чтобы запрос обработать. А каждая частичка времени дает свою нагрузку:
Я делал чистку 3 дня назад, поэтому у меня она еще не обросла ревизиями. Когда я первый раз почистил базу, у меня было удалено аж 1800 с чем-то строк! Представляете, сколько копий ненужных постов в ней хранилось? Идем дальше.
4. Оптимизируем записи в wp-post
Папка wp-post содержит все записи блога. Точно так же как и в предыдущем пункте, копируем строку:
OPTIMIZE TABLE wp_posts; |
и вставляем в поле SQL запроса. Нажимаем «ОК», смотрим:
Все, запрос выполнен!
5. Чистим wp-postmeta
Что именно будем чистить? Папка wp-postmeta содержит в себе:
— время последнего редактирования какого-либо из постов. Значения никакого не имеет, а нагрузку на сервер, какую никакую, а дает;
— содержание предыдущего ЧПУ (человека понятного урла). Если вы когда-нибудь меняли постоянную ссылку в любом посте. То при смене ее, она не удаляется, а оседает в папке wp-postmeta и нагружает вашу базу.
Делаем все тоже самое, копируем вот этот код:
DELETE FROM `wp_postmeta` WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug') |
Вставляем его в поле запроса SQL, и жмем «ОК». Смотрим на результат:
ЧПУ ссылки я не менял, а вот ошибки в постах находил и после редактирования делал повторное сохранение, отсюда и 6 строк.
6. Удаляем спам-комментарии
Делается аналогично, копируем код:
DELETE FROM wp_comments WHERE comment_approved = 'spam'; |
вставляем в поле SQL запроса, жмем «ОК», смотрим результат:
Как вы видите «0». После выполнения этого запроса, вы забудете про спам комментарии!
7. Удаляем пингбеки
Пингбеки — это уведомления о том, что на ваш пост или страницу кто-то ссылается. Нам это не нужно, лишняя нагрузка! Удаляем!
Копируем код:
DELETE FROM wp_comments WHERE comment_type = 'pingback'; |
Дальше, все тоже самое.
8. Отключаем пингбеки
Из прошлого пункта мы выяснили, что пингбеки не несут никакой пользы для нашего ресурса, а только его засоряют. Поэтому давайте их и вовсе отключим. Копируем этот код:
UPDATE wp_posts p SET p.ping_status = 'closed' |
а дальше вы уже знаете, что делать!
Ну как вам такая чистка? Понравилась? А теперь посмотрите, сколько стала весить ваша база данных после ее оптимизации? Заметно уменьшился размер? А я вам говорил! Посмотрите, как стал грузиться ваш блог! Он должен летать! Но и это еще не все на сегодня. Сейчас мы рассмотрим еще один последний пункт, который также существенно улучшит оптимизацию.
9. Устанавливаем плагин Optimize DB
Об этом плагине я уже вкратце упоминал в этом посте. Ну давайте более подробно рассмотрим, как им пользоваться. Данный плагин, как вы уже догадались, способствует оптимизации базы данных! Скачайте архив с плагином себе на ПК , вот
Дальше переходим в панель «Инструменты», выбираем «Optimize DB» и нажимаем «Optimize Now»
Все, ваша база данных оптимизирована дополнительно при помощи плагина:
После оптимизации деактивируйте плагин, чтобы он не нес дополнительной нагрузки на ваш ресурс. И вообще, советую вам производить все выше описанные действия с периодичностью раз в месяц можно даже чаще. И тогда ваш блог будет грузиться молниеносно и нагрузка на сервер будет минимальной.
А в следующей части поста, я вам покажу, как заменить часть не ненужных плагинов кодами. Обязательно
А на этом я с вами буду прощаться. На сегодня у меня все, желаю всем успехов, и помните оптимизация базы данных это колоссальное снижении нагрузки на ваш ресурс. Всем пока и до скорых встреч.
И на последок порция приколов:
Ну как вам статья? Я уверен, что вы останетесь довольны после ее прочтения и проделанных рекомендаций со своим ресурсом! Жду ваших комментариев!
С уважением, Николай Коротков
А я знаю почему у Тебя нагрузка так выросла. Просто я тут у Тебя прижился, и постоянно что то изучаю. А что делать
если инфа здесь классная. А если серьезно, то все вышеперечисленные советы рекомендую сделать всем блоговодам в первую очередь. Я это давно сделал, поэтому сплю спокойно. И еще, плагин Optimize DB, это вообще обязательный атрибут любого Блога. Спасибо Коля, как всегда, все полезно и актуально. А вот следующий пост вообще жду с нетерпением. Так что давай, пиши
[Ответить]
Николай Коротков
8 декабря 2012 18:38
Александр
Насмешил=)) Хотя...все возможно! Да, эта информация очень ценная и полезная! А следующий пост будет через пару тройку дней, как обычно!
[Ответить]
Я в базе данных ковыряться побаиваюсь, но после установки и чистки плагином WP-Cleanup она у меня уменьшилась с почти 50 до 7Mb. Блог действительно стал грузиться намного быстрее.
[Ответить]
Николай Коротков
9 декабря 2012 16:30
mishuta 2012
Боятся не надо, все это проверено и прекрасно работает! Просто перед тем, как делать любые изменения, обязательно нужно сохранять резервную копию!
[Ответить]
Строго говоря, спрашивает при операциях с базой данных не сама БД (СУБД вообще все действия одинаковы, ничего не спрашивает), а клиент, phpMySql.
Касательно пингбэков, «Из прошлого пункта мы выяснили, что пингбеки не несут никакой пользы для нашего ресурса, а только его засоряют.» — строго говоря, ничего не выяснили.
Вы просто сказали, не аргументируя, что они не нужны, вот и всё. На самом деле, польза от них вполне может быть, просто употреблять этот инструмент нужно по назначению. Например, ключевое слово «семантическая сеть» вам говорит что-нибудь?
Спасибо.
[Ответить]
Николай Коротков
9 декабря 2012 21:36
Константин
По первому абзацу, вообще не понятно что Вы этим хотели сказать?
Про пингбеки по моему все понятно. «Пингбеки — это уведомления о том, что на ваш пост или страницу кто-то ссылается». Само назначение пингбеков раскрыто! Если бы я писал пост о пингбеках, то конечно же описал все в мельчайших подробностях, но этот пост про оптимизацию базы данных! Если вам нужны аргументы — поищите в интернете, а потом уже решайте, стоит ли отключать пингбеки или нет! Лично я в них не нуждаюсь.
Семантическая сеть — не знаком с этим понятием. Но если Вы профи в этой теме, можете для всех пояснить в комментариях, я думаю, многим будет интересно!
Все действия, описанные в этой статье — это всего лишь рекомендации! И решать применять их на практике или нет, только Вам! Я раз в месяц провожу такую профилактику для базы данных своего ресурса и пока, что всем доволен! Что было до и после, я отразил в посте!
Пожалуйста.
[Ответить]
Да, хлама WP в базе делает немеренно. Надо воспользоваться Вашими советами)
[Ответить]
Привет, дружище!
Твой пост и в самом деле классный. В Интернете столько много бредни написано, что информацию приходится искать по крупицам. А здесь я зашел, и на тебе, все доходчиво и понятно. У меня как раз началась проблема с нагрузкой на сервер. Еще советую установить плагин WP Super Cache. Только его нужно грамотно настроить. Классный плагин! Может у тебя в остальных постах о нем что-то и сказано, но я еще не читал. Спешу перейти ко второй части оптимизации. Удачи тебе и твоему блогу
[Ответить]
Николай Коротков
17 декабря 2012 00:21
Спасибо Юрий! Рад, что тебе понравилось.
[Ответить]
А у меня вообще отключили, давно на почту не заходила, а так куча предупреждений...
[Ответить]
Добрый день! Очень интересно, а как быть мне с блогом на Blogger? Все плагины для WP не годятся для Блогспот, нужно искать методы оптимизации самостоятельно в инете.
С уважением, Вадим.
[Ответить]
Николай Коротков
28 января 2013 11:31
Вадим
Добрый день! С Блогспот никогда не работал, поэтому вряд ли смогу Вам, что-то подсказать!
[Ответить]
Спасибо, пост действительно добротный. У меня, кстати, после проделывания пункта №3 — «Удалено 4145 строк. ( Запрос занял 7.0269 сек. )»
[Ответить]
Николай Коротков
2 апреля 2013 20:37
Антон
Всегда пожалуйста!
[Ответить]
Интересно, а как-то можно почистить базу от старых плагинов? наверняка там от них тоже следы какие-то остались?
[Ответить]
Николай Коротков
14 июля 2013 20:36
Стелла
Можно! В структуре базы данных нужно удалить созданные ненужным или потерявшим актуальность плагином таблицы, но нужно быть очень осторожным и знать, что удалять. И обязательно перед редактированием делать бэкапы.
[Ответить]
Вдогонку: а еще очень похоже на ваш текст вот тут dayafternight.ru/wordpress/baza-dannih-mysql-optimizacia
[Ответить]
Николай Коротков
14 июля 2013 20:38
Не понял, что вы имеете в виду? Если можно, поясните...
[Ответить]
Спасибо Николай, нужная вещь.
Все доступно и понятно написано.
А статья про коды уже вышла?
[Ответить]
Николай Коротков
12 сентября 2013 13:04
Наталья Гегер
Всегда пожалуйста. Статья про коды вышла уже давно, в середине поста есть ссылочка на нее с анкором: «как заменить часть плагинов кодами»
[Ответить]
Николай забыла спросить, подскажите пожалуйста. Когда делала оптимизацию обнаружила у себя в PhpMyadmin новую базу данных information_schema
Подскажите откуда она могла появиться?
в последнее время только код яндекс-метрики вставляла.
[Ответить]
Николай Коротков
12 сентября 2013 13:12
Наталья Гегер
Не обращайте на это внимание... На большинстве современных серверов она есть! Связано это с выходом MySQL версии 5.0 и выше...
INFORMATION_SCHEMA — это виртуальная база, которая формируется во время запуска сервера и содержит в себе метаданные всех баз данных, т.е. информацию о структуре баз данных. Доступна она только для чтения.
[Ответить]
12 сентября 2013 13:14
Спасибо Николай. А то от незнания всякие мысли негативные появились.
[Ответить]
Николай Коротков
12 сентября 2013 13:16
Наталья Гегер
Пожалуйста, ничего страшного в этом нет. Век живи, век учись!
[Ответить]
ох, почистил базу по вашему методу + от себя ручками, результат на лицо. Раньше база весила 20мб, сейчас 5мб
Спасибо
[Ответить]
Николай Коротков
27 октября 2013 09:28
Juri
Всегда пожалуйста.
[Ответить]
Спасибо огромное за статью. Сегодня тоже получил втык от хостера. В результате действий, база из 25Мб стала 5,2. Есть 2 вопроса, эти все манипуляции надо делать периодически? И второй вопрос, установил плагин, нажимаю оптимизировать, в результате напротив каждой строки пишется,
note : Table does not support optimize, doing recreate + analyze instead
Не похоже, что всё хорошо?!
[Ответить]
Николай Коротков
30 октября 2013 00:03
Sanya
Пожалуйста! Да, я делаю все эти манипуляции, примерно один раз в месяц. А вот насчет плагина пока не могу ничего сказать, видимо вы что-то сделали не правильно. Попробуйте поискать информацию в интернет по этому поводу. Но есть и приятные события. Вы оставили на моем блоге 2100-й комментарий и за это вам полагается приз в размере 100 рублей:
Присылайте номер своего wmr-кошелька и я перечислю вам деньги.
[Ответить]
30 октября 2013 01:03
Спасибо. Вот это неожиданный и очень приятный сюрприз R250014453007 Если что, кошелёк можете потом убрать.
По поводу плагина, то там вроде 2 кнопки нажать, чего я там мог напутать, но я всё же поищу, так как данная строчка означает что-то не то что надо.
[Ответить]
Спасибо, приз получен. Как я оказался на Вашем сайте?! Вчера очередной раз сайт перестал работать, а на экране писалось «Ошибка соединения с базой данных». Написал хостеру, там подтвердили что большая нагрузка на MySQL и что-то с этим делайте, а пока перевели на тариф выше. Сразу же начал искать, что же делать и нашёл Вашу статью, которая уменьшила базу в 5 раз. Плагин который сначала не хотел работать, всё таки заработал, но основная проблема, убрать лишние запросы, так и не была решена. У меня уже стоит плагин WP Super Cache, но он кеширует страницы, а не запросы к БД. И вот я до четырёх часов утра искал плагин, который мне сможет помочь с запросами и нашёл. WP File Cache кеширует запросы, количество запросов и МБ памяти, уменьшается в разы. На страницах где до этого было 40 запросов и 35МБ, теперь запросов 9 и 12МБ. Единственное, скорость загрузки вроде чуток увеличилось, но незначительно, учитывая что скорость загрузки страниц у меня, в среднем 0,15-0,5 секунды. Может кому то данная информация будет интересна.
[Ответить]
Николай Коротков
30 октября 2013 13:31
Sanya
Пожалуйста! Всегда приятно осознавать, что твой труд несет пользу для людей. А информация, которой вы поделились, я думаю, обязательно кому-то будет интересна!
[Ответить]
выше указанные действия могут повлиять на работу плагина nrelate-flyout ?
[Ответить]
Николай Коротков
7 декабря 2013 20:00
Костя
С плагином nrelate-flyout не приходилось сталкиваться, поэтому сказать ничего не могу.
[Ответить]
Ваш метод работает и даже очень хорошо, но после произведенных действий стала очень часто появляться ошибка 500, то есть пошел прирост посещаемости и следовательно перегрузка хостинга, установил wp super hache результата не дало, стал давать перегрузку wp-cron, вопрос к вам в том если я отключу его (define (‘DISABLE_WP_CRON’, true);) плагин будет работать, будет ли производится кэширование?
[Ответить]
Николай Коротков
11 декабря 2013 22:11
Костя
Я не пробовал отключать wp-cron, поэтому не могу вам сказать, будет ли работать плагин и производиться кэширование.
[Ответить]
Николай, а где у Макхоста посмотреть нагрузку сейчас? По Квотой уже нет...
[Ответить]
Николай Коротков
22 января 2014 09:21
Александр
Напиши по этому поводу в службу поддержки и они выведут в твоей панели управления специальный счетчик, где ты сможешь наблюдать в реальном времени за нагрузкой на свой ресурс.
[Ответить]
22 января 2014 09:35
оооо...даже так...Спасибо, сейчас напишу...
[Ответить]
Николай, привет...
Вопрос такой...
10.02.2014 09:50 397% — в это время была нагрузка на хостинг такая, но в среднем за сутки 6%...Стоит задумать?
[Ответить]
Николай Коротков
10 февраля 2014 10:49
Александр
Привет! Если это разовая нагрузка, то не обращай внимание. Такое бывает...
[Ответить]
10 февраля 2014 11:17
Да разовая...Просто выложил фотки на портале и оттуда попер трафик разом =) И каждый по 2-3 минуты что-то делал =)
Вот меня и ввели в заблуждение =)
[Ответить]
[Ответить]
Мне вчера пришло подобное письмо про нагрузку и про блокировку аккаунта, правда я его поздно увидела, сайт заблокировали раньше, чем я письмо обнаружила. Помочь в тех.поддержке ничем не могли, отправили к разработчикам. Начала слезно их умолять, чтоб вернули мне сайт. К счастью, они мне его разблокировали и дали время оптимизировать. Но подобную оптимизацию я не давно делала. Сейчас повторила ее по вашему способу, как было 8 мб, так и осталось, несколько кб очистилось, так как чистку недавно уже делала. Лишние плагины тоже поотключала и поудаляла. Нагрузка на хостинге не снизилась, все также скачет и периодически зашкаливает за 100%. Не знаю в чем проблема. Некоторые друзья опытные блоггеры посоветовали поменять хостинг. Пока думаю об этом. Если после всех моих шагов по очистке и ускорению блога ничего не изменится, то сбегу на другой!
А пока пошла читать дальше ваши статьи про ускорение блога и замену плагинов на коды.
Спасибо, Николай, за ваши полезные и очень подробные рекомендации!
[Ответить]
Николай Коротков
2 апреля 2014 11:39
Здравствуйте, Оля!
Наверняка вы используете хостиг timeweb, что-то в последнее время они многим рассылают похожие письма? Дело в том, что ко мне уже обращались до вас два человека с похожей проблемой... После оптимизации ничего не изменилось и я им посоветовал перейти на Макхост. После перехода все проблемы исчезли, все довольны и счастливы! Про Макхост на моем блоге есть подробная статья, можете ознакомиться с ней и решить для себя, какой хостинг лучше.
[Ответить]
31 декабря 2014 02:27
Ужасный хостинг — timeweb. С посещаемостью менее 100 человек и сайтом на 30 страниц постоянно получала предупреждения , что идет перегрузка! Поддержка не отвечает по 2-3 дня. Никому не советую этот хостинг. А за статью спасибо. Обязательно пройдусь по базе.
[Ответить]
Коля, с Таймвеба я давно сбежала, и убежала именно на Макхост... До вчерашнего дня я была им довольна. Но теперь вот мое мнение изменилось.
[Ответить]
Николай привет...Сегодня занялся чисткой БД...
В общем,
1. после редактирования wp-config.php показывается белый экран!
2. После оптимизации записей wp-post выпадает 1 ошибка: Table does not support optimize, doing recreate +...Msg_type — note
3. После отключения пингбеков вылезло 325 затронувших строк — это типа разрешения упоминания, если кто-то ссылается? Порой приходит в виде комментария к посту, на который поставили ссыль?
И еще вопрос, в панеле управления Макхоста как скоро появится размер после оптимизации БД?
В целом все прошло на ура, кроме того, что wp-config.php не принял команды:
DEFINE ('WP_POST_REVISIONS', false);
DEFINE ('EMPTY_TRASH_DAYS', 1);
Я думаю, что это можно и в ручну...
А вот правки постов, ты пишешь, что появляются копии...Они могут ПС считаться как дубли страниц?
[Ответить]
Николай Коротков
10 июня 2014 11:52
Привет, Александр!
1. Странно?! У меня ни разу не возникало проблем с wp-config.php.
2. Аналогично пункту 1, ошибок не было.
3. Ты все правильно понял...
Что касается правки постов, то ПС никаких дублей не увидят... Когда ты пишешь пост, wordpress автоматически и периодически сохраняет копии постов, которые со временем накапливаются в виде килобайт и грузят БД. Это внутренние копии движка и к поисковикам они не относятся.
[Ответить]
10 июня 2014 11:54
А не подскажешь где глянуть, есть ли дубли? Не могу найти...Для гугла нашел дубли, осталось узнать как дела у Яши...
[Ответить]
Николай Коротков
10 июня 2014 12:01
Для этого нужно перейти в расширенный поиск Яндекса и в поисковую строку ввести кусок текста страницы, которую ты подозреваешь в дублях. Текст вводится в кавычках и в строке расширенного поиска «На сайте:» указывается свой домен.
[Ответить]
10 июня 2014 12:07
Спасибо...Сейчас попробую, правда я даже понятия не имею какие страницы имеют дубли...
А ты слышал про такую фигню replytocom у Гугла? Для него это типа дублей, что ли...У меня их свыше 6 000 было и все они дублировали все посты, я только недавно о них узнал, запретил индексацию везде и в роботсе и в панели вебмстера у Гугла...Потихоньку начинают выпадать из индексации и позици в Гугле поползли потихоньку вверх...
Ну так, поделился своим открытием =) Может будет полезно!
[Ответить]
Николай Коротков
10 июня 2014 12:10
Да, Александр... Это для меня не новое открытие и в статье про robors.txt я написал, что в самом файле нужно запретить replytocom. Но все равно спасибо! Возможно, твой комментарий заставит кого-то задуматься и обратить на это внимание.
10 июня 2014 12:12
А дело в том, что роботс гуглу что зайцу стоп сигнал...У меня они там изначально были запрещены...А вот! Сейчас в «Парамтеры URL» можно создать параметр с replytocom и на индексацию постаить «никогда»...И только тогда он их не учитывает!
Николай Коротков
10 июня 2014 12:13
Александр, а вот этого я уже не знал... Сейчас обязательно посмотрю и воспользуюсь твоим советом! Спасибо еще раз за твои открытия!
Николай Коротков
10 июня 2014 12:18
Александр, что означают твои слова: «и на индексацию поставить «никогда»» и где нужно поставить «никогда»?
10 июня 2014 12:22
Я тебе на почту скрины отправил!
Николай Коротков
10 июня 2014 12:22
Спасибо большое!
10 июня 2014 12:24
Пожалуйста, просто очень гнусная штука...
База была 4,5мб стала 2мб. База хоть и маленькая, но все равно неплохо сжалась. Спасибо!)
[Ответить]
Не получилось очевидно из-за того что у меня стоит плагин наверное не дающий сделать это. Я пошел по другому пути. Установил Optimize Database after Deleting Revisions, запустил и уменьшил базу с 48 МВ до 19,7 МВ. Хоть как-то вышел из положения.
[Ответить]