Архив

Статии по ключова дума: ‘bgobiavi’

Sitemap за сайта за обяви

Sitemap за сайта за обяви От няколко дни се опитвам да си намеря скрипт, който да се инсталира на хоста, след това на определен интервал да се пуска и да обхожда сайта, като след това генерира сайтмап за Google. Става въпрос за сайта ми за малки обяви BGobiavi.info. Сайта ползва XZero Classifieds, а всички разширения за тази платформа, са платени.

Потърсих доста и в Интернет дали някой друг не е направил Sitemap for XZero Classifieds, но за съжаление не можах да намеря. Изтествах много и различни генератори. Повечето, които пробвах бяха от най-големия каталог от скриптове HotScripts.com. За съжаление повечето безплатни скриптове, които изтеглих не работеа нормално и бяха с много сложен сорс, който аз не мога да оправя сам. Тествах и Unlimited Sitemap Generator, но и той въпреки, че е платен не можа да сканира сайта ми.

Колкото повече скриптове тествах, толкова повече се убеждавах, че не е много удачен този начин за сайт, в който ежедневно ще се публикуват множество обяви, тъй като ако скрипта се стартира всеки ден и обхожда целия сайт, то тожа ще отнема много процесорно време.

Потърсих доста и в Интернет дали някой друг не е направил Sitemap for XZero Classifieds, но за съжаление не можах да намеря. Макар, че не съм писал код до сега реших да се опитам да се справя сам. Не претендирам, че това е най-верния начин, но получения файл работи перфектно. Това което той прави може да се опише в едно изречение – прави заявка към базата данни, от където извлича всички обяви, които са публикувани и одобрени, както и датите, на които са публикувани, след което форматира данните по слецификациите на Google за sitemap.

Ето и самия код:

<?php
require_once(„initvars.inc.php“);
require_once(„config.inc.php“);
$newLine = „\n“;
$indent = „   „;

// XML document
header(„Content-Type: text/xml“);

$sql = „SELECT a.*, ct.cityname, UNIX_TIMESTAMP(a.createdon) AS timestamp, scat.subcatname, scat.catid, cat.catname
FROM $t_ads a
INNER JOIN $t_cities ct ON a.cityid = ct.cityid
INNER JOIN $t_subcats scat ON a.subcatid = scat.subcatid
INNER JOIN $t_cats cat ON scat.catid = cat.catid
WHERE a.enabled = ‘1′ AND a.verified = ‘1′ AND a.expireson >= NOW()
ORDER BY a.createdon DESC
LIMIT 10000″;
$res_ads = mysql_query($sql) or die($sql.mysql_error());

if($sef_urls) $url = „{$vbasedir}$xcityid/posts/{$row[catid]}_{$catname_inurl}/{$row[subcatid]}_{$subcatname_inurl}/$row[adid]_“ . RemoveBadURLChars($row['adtitle']) . „.html“;
else $url = „?view=showad&adid=$row[adid]&cityid=$xcityid&lang=$xlang{$link_extra}“;

// Writing of the XML file
// Headers :
$sm = „“;
$sm .= „<?xml version=’1.0′ encoding=’UTF-8′?>$newLine“;
$sm .= „<urlset xmlns:xsi=’http://www.w3.org/2001/XMLSchema-instance’
xsi:schemaLocation=’http://www.google.com/schemas/sitemap/0.9 http://www.google.com/schemas/sitemap/0.9/sitemap.xsd’
xmlns=’http://www.sitemaps.org/schemas/sitemap/0.9′>$newLine“;

// Ads
while($row = mysql_fetch_array($res_ads)) {

if($sef_urls) $url = „$script_url/{$vbasedir}$xcityid/posts/{$row[catid]}_{$catname_inurl}/{$row[subcatid]}_{$subcatname_inurl}/$row[adid]_“ . RemoveBadURLChars($row['adtitle']) . „.html“;
else $url = „?view=showad&adid=$row[adid]&cityid=$xcityid&lang=$xlang{$link_extra}“;

$sm .= „$indent<url>$newLine“;
$sm .= „$indent$indent<loc>“.htmlentities($url, ENT_QUOTES, ‘UTF-8′).“</loc>$newLine“; // you may adapt the URL syntax to your need, this is an example
$sm .= „$indent$indent<lastmod>“.date(DATE_ATOM, $row['timestamp']).“</lastmod>$newLine“;
$sm .= „$indent$indent<changefreq>monthly</changefreq>$newLine“;
$sm .= „$indent$indent<priority>0.7</priority>$newLine“;
$sm .= „$indent</url>$newLine“;
}
$sm .= „</urlset>$newLine“;
$sm .= “;

echo $sm;

?>

Както се вижда това е PHP файл, който при изпълнението си генерира XML. Сега остава да излъжем Google, че при извикване на http://bgobiavi.info/sitemap.xml да се пренасочва към този файл.

Това съм го направил във файла .htaccess

RewriteEngine On

# sitemap XML
RewriteCond  %{REQUEST_URI} ^/sitemap.xml$
RewriteRule .* sitemapforxzero.php [L]

Сега остава и Google да одобри генерирания файл и всичко ще е наред.

Сподели с всички:
Dobavi.com Dao.bg Lubimi.com Ping.bg Pipe.bg Svejo.net Web-bg.com del.icio.us Facebook Google Google Reader Yahoo! MyWeb reddit StumbleUpon Technorati

Подобни публикации

Сайта за малки обяви BGobiavi.info – отново онлайн


Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1310

Warning: shuffle() expects parameter 1 to be array, null given in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1311

Warning: Invalid argument supplied for foreach() in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1312

Малки обяви Както писах преди месец и нещо, сайта ми за малки обяви BGobiavi.info беше хакнат. Хостинг доставчика ми и аз намахме достатъчно съвременен архив и се наложи да направя сайта от нулата. Порових доста, докато се спра на тази системка за обяви. Исках да не е много скъпа, обявите да могат да се пускат без регистрация, да не натоварва много хоста и още куп изисквания. Изтествах различни системи, но най ми допадна тази на XZero Scripts. Закупих си скриптчето и започнах да го модифицирам, за да отговара на моите изисквания. След време установих, че не мога да разчитам на никакъв съпорт от страна на автора на скрипта, но това поне за сега не е кой-знае какъв проблем. Скрипта струва 49$.

За съжаление кода който се получава накрая не е много чист – например има таблици и <DIV> едновременно, но се надявам в бъдещата версия това да е оправено.

Сайта приема обяви с линкове, като не се използва nofollow атрибут. Ранга е паднал, но скоро ще се възстанови, тъй като съм предприел мащабна линкбилдинг офанзива.

Сподели с всички:
Dobavi.com Dao.bg Lubimi.com Ping.bg Pipe.bg Svejo.net Web-bg.com del.icio.us Facebook Google Google Reader Yahoo! MyWeb reddit StumbleUpon Technorati

Подобни публикации

Два от моите онлайн проекти бяха хакнати на 9 май


Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1310

Warning: shuffle() expects parameter 1 to be array, null given in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1311

Warning: Invalid argument supplied for foreach() in /home/moiatblo/public_html/wp-content/plugins/simple-tags/inc/client.php on line 1312

HACKED_1[1] На 9 май послучай деня на победата (и на Европа) два от моите онлайн проекти бяха хакнати от руски хакери.

Единият от сайтовете bgobiavi.info използваше доста стара Joomla и вероятно пробива е станал от там. Другия сайт bgauto.info беше с напълно обновен WordPress, но тъй като е бил Add-on домейн на основния е заминал и той.

Тези сайтове бяха оставени на автопилот – без лични архиви (разчитах на архивите на хостинг доставчика – в случая ICN).

Обадих се на хостинга да ми върнат архив от преди 1 седмица и те ми казаха, че нямат. Имаха само от предните 2 вечери. За съжаление няма да мога да ги възстановя. Така или иначе те бяха за обновяване. Ще ги направя от нулата. Не ми хареса, обаче това, че хостинга ми няма архиви. До сега това не се е случвало в другия ми хостинг доставчик.

Какво всъщност е хакнато в тези сайтове? – Всички файлове index*.* е сменено съдържанието, като навсякъде във всички папки е добавен един файл с примерно уме ган.php (името е само примерно). Опитах се да възстановя загубите и с Wordpress-а се справих успешно, но Joomlata е доста омотана и в крайна сметка не успях. Реших да зарежа тези два сайта и да мигрирам домейните към основния ми хостинг доставчик Superhosting.bg. След като мине трансфера ще започна работа по новите сайтове.

Сподели с всички:
Dobavi.com Dao.bg Lubimi.com Ping.bg Pipe.bg Svejo.net Web-bg.com del.icio.us Facebook Google Google Reader Yahoo! MyWeb reddit StumbleUpon Technorati

Подобни публикации

SEO Blogs - Blog Catalog Blog Directory seo google