Секретные материалы

Автор блога: Нил™

Разное содержимое sitemap.xml для каждого из зеркал при мультиязычности сайта

В прошлом посте, который был посвящён организации мультиязычности сайта на Instant 1* посредством поддоменов смотрящих в один и тот же каталог на хостинге, я упоминал о том, что одна из проблем при таком подходе - как отдать разное содержимое sitemaps.xml в зависимости от того, через какой поддомен его читает робот.

Проблема не то что бы экстра сложная, скорее мне она казалась интересной (её решение).

Можно было бы конечно тупо назначить для каждого поддомена разный файл с картой сайта и в панели вебмастера указать это. Для ru.mysite.com - sitemap_ru.xml для en.mysite.com - sitemap_en.xml.

Но мне хотелось именно сохранить стандартный адрес сайтмапа sitemap.xml, при этом что бы его содержимое менялось в зависимости от хоста.

Итак, я сгенерировал три файла карты сайта.

Подход к организации мультиязычности на сайте с выносом на поддомен но без дублирования файлов 1.x

Решил "побаловаться" и запустить англоязычную версию сайта.

Сама возможность мультиязычности в первой ветке уже присутствует. В существующем решении и русскоязычная и англоязычная версия страницы будет находиться по одному и тому же url. Технически вполне удобно, через POST запрос менять настройки языка.

Но в большинстве случаев наша цель - проиндексироваться в Google и привлечь на англоязычную версию - англоязычный трафик. Google велит использовать разные url для разных языковых версий и даже рекомендует использовать поддомены с префиксом языка en.site.ru и т.д.

Создал поддомен en.mysite.ru начал копировать файлы системы в соответствующую папку на хостинге, попутно соображая, где и что подправить, чтобы фото загружались со всех версий сайта в одну папку и чтобы изображения загруженные через mysite.ru нормально отображались на en.mysite.ru.

Рассылка пользователям сайта с выборкой адресов с рядом условий 1.x

Потребовалось разослать информационное сообщение зарегистрированным пользователям сайта.
Обычно я не делаю рассылок, поэтому для этого случая у меня нет какого то постоянного решения, компонента, плагина.
Сервис email рассылок отверг сразу - ради одного раза не хотелось заморачиваться, платить, ждать модерации своего письма, да и сливать базу адресов своих пользователей на сторонний сервис лишний раз тоже не хотелось бы.

Немного поискал готовые скрипты, ничего интересного не нашёл и появилось такое решение.

Рассылка прошла нормально, если не считать того, что, судя по всему, некоторые почтовые сервисы бросают мои письма в папку спам, но это не проблема данного решения, это уже другая тема.

Аватары пользователей в ленте активности 1.x

Просто сейчас делал, решил оставить это здесь на всякий случай.


Аватары пользователей в ленте активности

Подсказки помогающие избежать создания одинаковых тем на форуме 1.x

Точно не знаю зачем оно мне надо, ни на одном из моих сайтов форум не является местом оживлённым.
Но тааак приспичило довести эту затею до конца, спортивный интерес.
Вроде удалось добиться оптимального результата оптимальным путём, на пути к нему я пересмотрел несколько вариантов реализации.

Суть фишки. Когда пользователь создаёт новую тему и вбивает её название, если в базе форума есть темы с очень похожими названиями, ему здесь же предлагается поискать возможно готовое решение ДО ТОГО как он создаст эту тему. А не после, как это делает плагин "похожие темы" присутствующий например на форуме этого сайта. Все ссылки на похожие темы открываются в новой вкладке и если окажется что там не совсем то что нужно пользователю, он может вернуться к созданию своей тему. Если подсказки дали ему верное направление, он может продолжить ранее начатую тему (если конечно она не закрыта) или просто получить там ответ.

Вот как это выглядит.

Подсказки помогающие избежать создания одинаковых тем на форуме

Преобразование объявления в графическую файл карточку jpg формата 1.x

Вот тут человек просил инструкцию на русском языке.

Суть вопроса в том, как преобразовать текстовый контент в картинку, что бы при шэринге в соцсети картинка для поста содержала в себе текст объявления.

Самого заинтересовал этот вопрос, сначала подумал про canvas, потом понял, что для этой задачи можно по-проще вариант, поэтому немного разобрался в том как работают функции

imagefilledrectangle
imagettftext
imagecopymerge
и так далее.

Итак, генерация изображения с содержимым объявления.

Набор мелочей Vol1 1.x

1.Выводим в списке постов блогов и посты из клубов.

"Действительно, почему бы не выводить посты из клубов на странице /blogs в списке последних постов. Блоги клубов - такие же блоги, просто объеденены общей темой. Пусть конкурируют за внимание на странице с личными блогами. "
Так подумал я и закомментировал в файле components/blogs/fronted.php