RSS položky
Hodnoty zpracovávané dle standardu RSS přímo ze seznamu RSS položek.
Hlídejte prosím konzistenci dat vydaných v rámci RSS položek a samotného obsahu článku (data ve zdrojovém kódu dostupném pod URL článku). Článek nejprve uložíme společně s jeho položkami z RSS. Pokud dochází k následným aktualizacím dat v článku, stahujeme obsah už ze zdrojového kódu dle priorit. Problém může např. nastat, když RSS položka pro správný náhledový obrázek použije tag media:content (viz RSS media), ale ve zdrojovém kódu bude kromě obrázku s tagem media:content také jiný další obrázek s tagem og:image (viz open graph), pak má dle priorit obrázků obrázek tagovaný og:image přednost a přepíše (načítáním aktualizovaných dat na naší straně) náhledový obrázek získaný z RSS. Tím by vzniklo nežádoucí chování z pohledu správného publikování dat. Volte ve zdrojovém kódu takové tagy, které nebudou přetěžovat prioritu tagů vydaných v RSS (pokud to není záměr).
1. Hodnoty z RSS položky
Ze standardních hodnot RSS položek načítáme hodnoty title
, description
, link
, guid
, pubDate
a category
<rss version="2.0">
<channel>
...
<item>
<title>Nadpis článku</title>
<description>Popis článku</description>
<link>http://www.foo.com/bar</link>
<guid isPermaLink="false">http://www.foo.com/article/123456</guid>
<pubDate>Wed, 05 Jan 2022 7:15:05 +0100</pubDate>
<category>hokej</category>
<category>krimi</category>
</item>
</channel>
</rss>
Technické parametry RSS
RSS obsahuje maximálně 20 nejnovějších článků.
Nadpis článku (headline)<title>
- Povinná položka
- Doporučená délka textu je 50 až 60 znaků s mezerami. Delší rozsah textu může být ze strany společnosti Seznam.cz upraven a zkrácen.
- Velká písmena doporučujeme užívat na začátku věty, pro zkratky, jména a příjmení osob atd., to vše v souladu s ustálenými pravidly gramatiky českého jazyka.
- Zakázány jsou urážlivé pojmy, vulgarity a jiný obsah, který dehonestuje osoby či jiné subjekty.
- Celý headline uvedený velkými písmeny není přípustný. Headline nesmí obsahovat speciální grafické znaky jako emotikony, šipky atd.
<description>
- Povinná položka
- Doporučená délka textu je 200 znaků s mezerami. Delší rozsah textu může být ze strany společnosti Seznam.cz upraven a zkrácen.
- Velká písmena doporučujeme užívat na začátku věty, pro zkratky, jména a příjmení osob atd., to vše v souladu s ustálenými pravidly gramatiky českého jazyka.
- Zakázány jsou urážlivé pojmy, vulgarity a jiný obsah, který dehonestuje osoby či jiné subjekty.
- Perex nesmí obsahovat speciální grafické znaky jako emotikony, šipky atd.
- Perex musí být alespoň jedna dokončená věta bez speciálních znaků a obsahovat jen celé věty.
<guid>
- Povinná položka
- GUID = Globally Unique Identifier
- Musí být jednoznačný identifikátor článku
- Nesmí se měnit (např. při změně titulku článku)
- Nemusí být platný odkaz, ale musí být nezaměnitelný s jinými servery
- Podrobnější popis na https://validator.w3.org
<pubDate>
- Povinná položka
- Datum kdy byl článek publikován na zdrojovém webu
- Formát podle časových standardů (RFC822,RFC3339,RFC850,RFC1123,...)
<category>
- Kategorie obsahu do kterých článek patří pro lepší doporučování
2. Obrázek (obecné technické parametry)
- Doporučená velikost náhledového obrázku je 800 × 450 pixelů (minimální 400 × 225 pixelů). Formát obrázku je JPG nebo PNG.
- Doporučený poměr stran obrázku je 16:9 (vždy s horizontální orientací), přičemž poměr stran může být ze strany společnosti Seznam.cz přiměřeným způsobem upraven.
- Obrázek je uveden platným internetovým odkazem (URL) odkazujícím přímo na konkrétní obrázek, prostřednictvím něhož lze obrázek automatizovaně stáhnout a upravit pro jeho zobrazování, přičemž obrázek musí být dosažitelný po celou dobu existence obsahu, jehož se obrázek týká.
- Seznam.cz je oprávněn si pro účely Služby Seznam.cz stáhnout obrázek také přímo ze Služby Partnera.
- Obrázek nesmí obsahovat žádné vodotisky, loga, bílé pruhy po stranách atd.
3. Obrázek (namespace szn)
<rss xmlns:szn="https://www.seznam.cz" version="2.0">
<channel>
...
<item>
...
<szn:image>
<szn:url>http://www.foo.com/bar.jpg</szn:url>
</szn:image>
</item>
</channel>
</rss>
4. Obrázek (namespace media)
Tady jsou 3 možnosti zpracovávaných obrázků. První dvě přes prvek media:content, kde je obrázek načten podle MIMEtype určeného atributem type nebo je obrázek načten podle atributu medium=image
. Další možností je detekce obrázku, když je obsažen prvek media:thumbnail
. U všech se poté vybere atribut url. Popis obrázku je volitelný a je možné jej přidat přes tag media:description
<rss xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
<channel>
...
<item>
...
<media:content type="image/jpeg" url="http://www.foo.com/bar.jpg"/>
<media:description type="text/plain">Popis obrázku</media:description>
</item>
<item>
...
<media:content medium="image" url="http://www.foo.com/bar.jpg"/>
<media:description type="text/plain">Popis obrázku</media:description>
</item>
<item>
...
<media:thumbnail url="http://www.foo.com/bar.jpg" />
<media:description type="text/plain">Popis obrázku</media:description>
</item>
</channel>
</rss>
5. Obrázek z enclosure
U enclosure se bere podobně jako u media MIMEtype z atributu type.
<rss version="2.0">
<channel>
...
<item>
...
<enclosure type="image/jpeg" url="http://www.foo.com/bar.jpg"/>
</item>
</channel>
</rss>
6. GEO souřadnice (namespace geo)
<rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">
<channel>
...
<item>
...
<geo:lat>49.868168</geo:lat>
<geo:long>12.743797</geo:long>
</item>
</channel>
</rss>
7. Datum expirace (namespace szn)
- Označuje datum, kdy se článek přestane doporučovat
- Formát podle časových standardů (RFC822,RFC3339,RFC850,RFC1123,...)
<rss xmlns:szn="https://www.seznam.cz" version="2.0">
<channel>
...
<item>
...
<szn:expDate>Sun, 09 Jan 2022 12:00:00 +0100</szn:expDate>
</item>
</channel>
</rss>
8. Expirovaný článek (namespace szn)
- Volitelný příznak (pro "Seznam doporučuje")
- Slouží k označení článku, který již expiroval. Má být vyřazen z doporučování.
<rss xmlns:szn="https://www.seznam.cz" version="2.0">
<channel>
...
<item>
...
<szn:expired />
</item>
</channel>
</rss>