Теме: WordPress | СрбТрансЛатин

SrbTransLatin и XML Sitemap Generator for WordPress

Скраћена веза: https://pedja.supurovic.net/veza/190

Када сам коначно завршио постављање блога, решио проблем ћирилице и латинице помоћу додатака SrbTransLatin, одлучио сам да инсталирам и додатак XML Sitemap Generator for WordPress и тако обезбедим квалитетније индексирање садржаја блога на претраживачима.

Одмах сам помислио да ће сигурно бити проблема са генерисањем мапе сајта уз подршку за ћирилицу и латиницу, с обзиром да XML Sitemap Generator не може да зна да ја то уопште користим.

Инсталирао сам додатак, генерисао мапу сајта, отворио је, и наравно, у њој су се налазили линкови само за стране на подразумеваном писму. Стране у додатном писму нису биле на списку.

Мало сам истраживао, али се испоставило да нема другог начина да у мапу сајта убацим и ћириличне и латиничне верзије страна, осим да изменим директно код додатка XML Sitemap Generator. Прегледао сам по коду и успео да изолујем место где бих могао да направим интервенцију.

У датотеци sitemap-core.php треба пронаћи метод AddUrl() који додаје појединачни линк у мапу сајта. Код мене, у XML Sitemap Generator верзија 3.1.0.1, он се налазио на 1612 линији кода.

Пре измене метод је изгледао овако:

function AddUrl($loc,$lastMod=0,$changeFreq="monthly",$priority=0.5) {

  $page = new GoogleSitemapGeneratorPage($loc,$priority,$changeFreq,$lastMod);

  $this->AddElement($page);

}

Измену треба направити тако да метод напослетку изгледа овако:

function AddUrl($loc,$lastMod=0,$changeFreq="monthly",$priority=0.5) {

  $page = new GoogleSitemapGeneratorPage($loc,$priority,$changeFreq,$lastMod);
  $this->AddElement($page);

  $page = new GoogleSitemapGeneratorPage($loc . '?lang=cir',$priority,$changeFreq,$lastMod);
  $this->AddElement($page);

}

Измена у односу на оригинал се састоји у томе да је у оквиру функције поновљено генерисање стране за исти линк, само је у линк додат параметар који одређује писмо.

У мом случају, пошто је на мом блогу подразумевано писмо латиница, било је потребно да поновим линк са параметром који одређује да се документ прикаже ћирилицом. Линку сам додао параметар ?lang=cir.

Ако је на вашем блогу подазумевано писмо ћирилица, она је потребно да додатни линк буде приказ латинице па ћете у измени ставити ?lang=lat као додатак линку.

Снимите измењени код, ставите га преко старог на сајт и покрените опцију за генерисање мапе сајта. Сада ће у новој мапи бити убачен и линкови ка верзијама докумената у оба писма, тако да ће их претраживати оба и индексирати.

Водите рачуна да је ово измена у коду, тако да ако касније ставите новију верзију додатка
XML Sitemap Generator, ова измена ће бити поништена, па ћете морати поново да је напрацвите. Такође, ако на блогу промените подразумевано писмо, морате и овде направити нову измену додатног писма.

Аутору додатка XML Sitemap Generator сам послао поруку са предлогом како да обезбеди да се ова функционалност може добити кроз параметре, тако да се не мора мењати код. Надам се да ће у некој новој верзији то бити омогућено.


Поделите овај чланак са пријатељима


8 comments to SrbTransLatin и XML Sitemap Generator for WordPress

  • Pa Google radi automatsku trankripciju iz jednog pisma u drugo (isto i za ĆŠČ>>CSC i obratno) tako da je sve jedno da li je sajt u cirilici ili latinici, jer sta god se ukuca kao upit, naci ce oba… Tako da ne moras oba pisma da ubacujes u sitemap.

    btw koristis sitemap.xml, sitemap.xml.gz ili oba?

  • Бавио сам се мало тиме и закључио да не индексира баш идентично ћириличне и латиничне стране, тако да је за сада боље да му потурим и једно и друго.

    За сада, стоје и sitemap.xml, sitemap.xml.gz.

  • Није то до овог додатка. Вордпрес има неких мана.

  • Sasa Nikolic

    Zdravo Pedja, hteo sam da ti postavim par pitanja vezano za SrbTransLatin plug-in. Naime, uradio sam sajt u WordPressu i implementirao ovaj tvoj plug-in za preslovljavanje. Procitao sam i ovaj tvoj clanak na blogu i nije mi najjasnije kako da generisem mapu sajta za latinicnu verziju (podrazumevana je cirilica)? Takodje, ne znam kako da podesim pretarzivac na svom sajtu tako da bez obzira kojim pismom kucam kljucnu rec za pretragu, dobijem rezultat pretrage na oba pisma? Pretrazivanje radi samo na podrezumavanom pismu (cirilicnom). Drugo pitanje odnosi se na Slimbox plugin kojim se uvecavaju slike na sajtu kao popup box. U podrazumevanom pismu ih otvara, a u latinicnom pismu ne (otvara novu starnicu sa slikom). Nadam se da mozes da mi pomognes da resim ova dva problema ukoliko imaju veze sa SrbTransLatin plug-inom. Hvala unapred i veliki pozdrav. Sasa Nikolic

  • Погледао сам поново чланак и мислим да је јасан. Може бити једино да је нешто промењено у додатку XML Sitemap Generator па да ти зато не ради. Ако конкретније опишеш шта си урадио и какав је проблем можда бих могао нешто да закључим.

    Претрага се ради на нивоу базе података а не на нивоу ПХП скрипти тако даовај додатак ту не може много да ућини. Штавише, колико знам ћирилично-латинична претрага у бази је могућа само уз озбиљну кастомизацију серевера што обично није могуће на хостинг серверима.

    Пошто Slimbox већим дело ради као џаваскрипт могуће је да поступак пресловљавања нешто поремети џаваскрипт код. То су ствари коеј је прилично тешко инсконтролисати.

    И ја користим Slimbox и имао сам проблем са њим који се решио преинсталацијом додатка. Пробај то да урадиш.

  • Sasa Nikolic

    Ja konkretno imam problem sto moj pretrazivac konkretno radi za podrazumevano pismo koje je kod mene cirilicno. Kada ukucam rec na cirilici, pretrazivac radi i prikayuje trazeni rezultat pretrage, a kada kucam rec koju trazim latinicnim pismom ne prikazuje rezultate. Na tvom blogu to radi pa me interesuje kako.
    Za slimbox si bio u pravu. Resio sam problem.
    Hvala,
    Pozdrav

    • Ма не ради ни код мене. Могуће је да претрага узима у обзир адресу чланка или тагове па да там налази неке латиничне елементе.

      Шта је био проблем са слимбоксом?

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Попуните израз тако да буде тачан: *