karandom: ну либо бот яндекс с ума сошел, либо у вас карта сайта, canonical url и robots.txt не настроены корректно. Яндекс, как и Гугл должны корректно распознавать канонический адрес страницы и не добавлять его в поиск. Тем более что дубликат однозначно попадает в индекс после оригинала.
karandom: а, вот в чем речь. Боюсь, никак :) потому что эти наборы символов - это не из индекса. Это боты стучатся по определенным маскам, вы не первый и не последний. И не важно, есть такой урл или нет - боту достаточно знать основной, канонический урл, который в индексе есть, и он вам как раз там нужен. Боту подставить в запрос уже нужный ему (по какой-либо причине) набор символов - плевое дело, вы это никак не сможете контролировать. Да, можно понастраивать кучу граблей, чтобы на такие запросы отдавать 404, 403 или даже другую ошибку, но можете объяснить, зачем вам это надо? С какой целью? Подключите и настройте Google / Yandex инструменты для вебмастера, и смотрите не запросы, которые идут К ВАМ от ботов, а то, что реально есть в индексе Google / Yandex. И корректируйте этот индекс с помощью карты сайта, robots.txt, ручных правил в инструментах вебмастеров.
Макс Куликов: это я уже давно понял, еще по тому вопросу первому. Похвально, что пытаетесь сами во всем разобраться - это хорошо и такие знания не будут лишними в вашей дальнейшей карьере. Но все же более сложные моменты надо начинать изучать с азов. Сначала среда для разработки, потом основы языка (PHP, не говоря уж об HTML/CSS/Javascript) и платформы (WordPress), и только потом уже делать. Иначе у вас в процессе вылезают такие проблемы, которые на самом деле не проблемы, если есть минимальный багаж знаний, но со стороны вам очень сложно помочь, так как вы не сможете понять половины текста в совете, не можете помочь нам, предоставив данные, необходимые для отладки и тд. Выхода всего 2 - нанять разработчика и не париться или все же, через боль, через кучу времени и изучение азов, сделать все самому, и заодно проапгрейдить себя на уровень выше.
karandom: движок как раз ведет себя абсолютно корректно, так как после его имени можно передавать дополнительные аргументы (например, номер страницы, если пост на несколько страниц). За то, что вы подразумеваете под "страницей" отвечает как раз имя поста в урл, а поскольку оно корректное и такой пост есть, то 404 тут неуместно - пост существует.
Что это за бот? Сторонний бот который лазит по вашему сайту?
Марина Лебедь: Марина, к сожалению, это не остроумие, а АНТИПАТТЕРН в программировании - спагетти-код, в народе - "макароны". Он может работать, но вот чесслово, мне, как разработчику опытному, понадобился достаточно ощутимый кусок времени, чтобы прочесть его и понять что он делает. К тому же, я не уверен, что он работает корректно (включите error_reporting и проверьте). Да и к WordPress он точно не имеет отношения, обычный PHP вперемешку с HTML, CSS, Javascript - что тоже очень плохая практика. Кроме того, есть в самом коде как просто ошибки, так и недопустимые фрагменты. Например:
set_time_limit(0); - вы выключаете вообще лимит выполнения скрипта. Это ужасная практика, ведущая к обвалу сервера. Вам нужно отправлять много писем - используйте атомарную функцию отправки и дергайте ее аяксом, а не с помощью sleep и неограниченного времени исполнения.
Вы никак не проверяете и не валидируете данные из массива POST. Это открытые двери для взломщиков, и вас пока не взломали только потому, что это никому не надо. Но подобный подход - это очень плохо.
Загружаемый файл тоже никак не проверяется - а это уже открытые двери для заливки шелла вам на сервер и получения полного доступа.
У вас там два if вообще пустые и ничего не делают. Несколько лишних макаронин :)
Абсолютно неэффективные вложенные циклы while и for.
Максим, установите Open Server (open-server.ru), и используйте нормальную среду для разработки. Тогда у вас не будет возникать проблем. В предыдущем вашем вопросе, когда мы докапывались до CF7 я даже предположить не мог, что у вас локально почтовый сервер просто не настроен или отсутствует. Для разработчиков это как бы само собой разумеется, что почта сама по себе не ходит.
О боги, Марина, что это за макароны а не код?)) "такие сообщения не доходят адресатам с целью безопасности" - вы о чем? Для того, чтобы почта нормально ходила, нужен корректно настроенный почтовый сервер, корректные SPF и DKIM записи для домена, соответствие домена и айпи-адреса с которого уходят письма, а не то, о чем вы говорите. Что касается данного случая - тут даже через SMTP внешний почта не ходит. Проблема в настройках самого локального сервера.
SergeSerge: если вам клонировать надо и тюнить под ниши - я бы использовал вариант CMS. Лично я сам использовал бы WordPress + WooCommerce, так как с ними работаю много лет и знаю хорошо, знаю как сделать правильно. Вот вам нужен разработчик/команда, которые будут очень хорошо знать тот инструмент, с которым работают. Тогда проблем не будет.
lexchz: поставьте height: 100%, или flex используйте, чтобы растянуть блок по высоте. Если у вас несколько таких блоков и прокрутка - попробуйте задать общему контейнеру темный фон, чтобы скрыть этот дефект.
SergeSerge: без разницы, главное делать ровными руками. 100к без проблем потянет и WooCommerce на базе WordPress, если делать правильно и использовать адекватное объему железо. Фреймворк или CMS (eCommence'овская лучше) - надо смотреть по задаче, специфике товара и его свойств, рубрикации и фильтрам и тд. Если набор более-менее типовой - PrestaShop, OSCommerce, OpenCart подойдут чуть более чем полностью. Если много нестандартного (в чем я сомневаюсь), есть хороший бюджет (от $6-7к) - можно самопис на Laravel пилить. Ну или Yii, etc - на выбор разработчика.
1. Там есть сообщение, что 't' - некорректный email-адрес. Надо смотреть откуда это. Ну и что это за 2 ошибки - тоже непонятно, advcnt.js - это что за файл?
Макс Куликов: форма отправляется аяксом. Это означает, что если в яваскриптах где-то есть ошибка, то выполнение скриптов прекратится и форма не будет отправлена. Открой консольно браузера (F12), перейди во вкладу Javascript Console. Смотри нет ли ошибок и предупреждений. Дальше отправляй форму, и смотри не появилось ли ошибок при попытке отправки.
Макс Куликов: непонятно по скриншоту о какой ошибке вы говорите. То, что не отправляет, как по мне, вероятнее всего есть ошибка в javascript, она же и не дает выполнить отправку данных. Посмотрите в консоли браузера.