RSS

Open Graph Protocol

Liczba odsłon: 81

Jednym z ele­men­tów mo­gą­cych pod­nieść roz­poz­na­wal­ność stro­ny WWW jest łat­wość, z ja­ką jej czy­tel­ni­cy mo­gą dzie­lić się jej treś­cią. Obecnie do­mi­nu­ją­cym spo­so­bem po­wia­da­mia­nia się o cie­ka­wych in­for­ma­cjach są ser­wi­sy i sie­ci spo­łecz­noś­cio­we, za­rów­no prze­zna­czo­ne do pry­wat­nych kon­tak­tów, jak Facebook czy Google Plus, jak i pro­fes­jo­nal­ne, ta­kie jak LinkedIn lub Golden­Line.

Umieszcze­nie świet­nie wy­glą­da­ją­ce­go, kom­plet­ne­go wpi­su moż­na zna­czą­co ułat­wić. Wystar­czy, by stro­na WWW by­ła zgod­na z pro­to­ko­łem wy­mia­ny meta­in­for­ma­cji wy­ma­ga­nym przez da­ny ser­wi­sie spo­łecz­no­ścio­wy. Jednym z ta­kich stan­dar­dów jest Open Graph Protocol, orygi­nal­nie opra­co­wa­ny przez ser­wis Facebook, obec­nie ob­słu­gi­wa­ny przez wie­le in­nych stron.

Open Graph Protocol wy­ko­rzys­tu­je stan­dar­do­we znacz­ni­ki <me­ta> ję­zy­ka HTML. Efektem te­go są na­stę­pu­ją­ce ce­chy:

Dodatkowe in­for­mac­je za­pi­sa­ne są w na­stę­pu­ją­cy spo­sób:

<html prefix="og: http://ogp.me/ns#">
…
<meta property="klucz" content="wartość"/>

Cztery war­toś­ci, naj­istot­niej­sze przy współ­dzie­le­niu treś­ci w por­ta­lach spo­łecz­no­ścio­wych, mu­szą być zde­fi­nio­wa­ne w przy­pad­ku każ­dej stro­ny:

Należy przy tym pa­mię­tać, by wszyst­kie po­da­wa­ne adre­sy URL by­ły bez­względ­ne i po­zba­wio­ne okre­śle­nia pro­to­ko­łu tak, aby do­ce­lo­wa stro­na nie by­ła na­ra­żo­na na mie­sza­nie treś­ci szyf­ro­wa­nej z nie­szyf­ro­wa­ną. Właściwą po­sta­cią adre­su jest: //ser­wer/ścież­ka.

Specyfi­ka­cja okre­śla wie­le do­dat­ko­wych, op­cjo­nal­nych me­ta­da­nych, któ­ry­mi moż­na opat­ry­wać za­rów­no zwyk­łe stro­ny WWW, jak i ma­teria­ły audio­wi­zual­ne. Kompletną li­stę wraz z opi­sem moż­na zna­leźć na stro­nie ogp.me. Aby spraw­dzić, czy me­ta­da­ne są wi­docz­ne dla zew­nętrz­nych na­rzę­dzi oraz zwe­ry­fi­ko­wać ich po­praw­ność moż­na z kolei sko­rzys­tać z usłu­gi open­graph­check.com.

Umieszcze­nie w ko­dzie stro­ny znacz­ni­ków <me­ta> z od­po­wied­nią za­war­toś­cią nie jest za­zwy­czaj prob­le­mem. Autorzy stron WWW pi­sa­nych z wy­ko­rzys­ta­niem ję­zy­ka PHP mo­gą so­bie ułat­wić za­da­nie i zwięk­szyć po­ziom ab­strak­cji ko­du ko­rzy­sta­jąc na przy­kład z na­stę­pu­ją­cej kla­sy:

final class OpenGraphProtocol {

    public function __toString() {
        $result = '';
        foreach ($this->items as $key=>$value)
            $result .= "<meta property=\"og:$key\" content=\"$value\"/>";
        return $result;
    }

    public function & property($key, $value) {
        if ($value === null || $value === '') {
            unset($this->items[$key]);
        } else {
            $this->items[$key] = trim(strip_tags($value));
        }
        return $this;
    }

    private $items = [];

}

Dzięki za­sto­so­wa­niu płyn­ne­go inter­fej­su kla­sy, jej uży­wa­nie jest ele­ganc­kie i pros­te:

$ogp = new OpenGraphProtocol();
$ogp->property('title', …)
    ->property('description', …)
    ->property('url', …)
    ->property('image', …);

a w miej­scu, gdzie ma­ją się po­ja­wić od­po­wied­nie ele­men­ty <me­ta> wy­star­czy wsta­wić jed­no wy­ra­że­nie:

print($ogp);

Po uzu­peł­nie­niu ko­du stro­ny i zwe­ry­fi­ko­wa­niu po­praw­noś­ci publi­ko­wa­nia me­ta­da­nych moż­na już za­mie­szczać od­noś­ni­ki do włas­nych ma­teria­łów w ser­wi­sach spo­łecz­no­ścio­wych. Można też mieć pew­ność, że od­noś­ni­ki upow­szech­nia­ne przez tych naj­lep­szych czy­tel­ni­ków, któ­rzy dzie­lą się ze swo­imi zna­jo­my­mi naj­cie­kaw­szy­mi znaj­do­wa­ny­mi in­for­mac­ja­mi, bę­dą opa­trzo­ne właś­ci­wym obra­zem, właś­ci­wym opi­sem i w efek­cie za­chę­cą jesz­cze wię­cej osób do od­wie­dze­nia stro­ny.