De afgelopen zomer heb ik The Essential Meta Tags for Social Media geschreven over hoe ontwikkelaars webpagina’s zo kunnen voorbereiden dat ze er optimaal uitzien wanneer ze worden gedeeld op sociale media. Maar hoe zit het met het maken van de links waarmee gebruikers deze webpagina’s kunnen delen? Facebook, Twitter, en LinkedIn bieden tal van manieren om dit te doen, sommige met behulp van knop generatoren en anderen die externe JavaScript nodig hebben. Maar om dat allemaal te vermijden, kunt u uw eigen links maken om webpagina’s te delen. En het beste deel is dat het eenvoudig is om het zelf te doen. Hier volgt hoe.
Basisconcept: Just a Link
Wanneer u webpagina’s deelt met behulp van links, verzendt u in wezen een GET-verzoek (d.w.z. klikken op een link) naar een URL die door elke sociale-mediadienst wordt verstrekt. Door vervolgens een reeks naam/waarde-paren (queryparameters zoals ?title=Title) aan het einde van deze URL toe te voegen, kunt u de URL van de webpagina die u wilt delen en, soms, aanvullende informatie specificeren.
Nu moeten bepaalde symbolen in GET-verzoeken, bekend als “gereserveerde tekens”, op de juiste wijze worden gecodeerd om niet te interfereren met normale browserfuncties. Deze tekens zijn onderworpen aan “percent-encoding” – dat wil zeggen dat ze in query-parameters worden weergegeven met een “%” gevolgd door een tweecijferige hex-code. Dit zijn de gereserveerde tekens en hun procentgecodeerde equivalenten.
! | # | $ | & | ‘ | ( | ) | * | + |
---|---|---|---|---|---|---|---|---|
%21 | %23 | %24 | %26 | %27 | %28 | %29 | %2A | %2B |
, | / | : | ; | = | ? | @ | ||
---|---|---|---|---|---|---|---|---|
%2C | %2F | %3A | %3B | %3D | %3F | %40 | %5B | %5D |
Noot: Een spatie kan worden weergegeven door “%20” of “+”.
Natuurlijk is het niet nodig om deze hexcodes uit het hoofd te leren. Er zijn veel bronnen die conversies aanbieden (Bing heeft er een ingebouwd in de zoekmachine) en, zoals je spoedig zult zien, kan JavaScript ook het zware werk aan in dit verband. Laten we eens kijken naar een paar van de meer populaire social media services en leren hoe we webpagina’s via hen kunnen delen.
Per hun Developer’s Guide, specificeert Facebook de volgende URL om GET requests in te dienen bij het delen van een webpagina:
https://www.facebook.com/dialog/share
Terwijl er vier query parameters beschikbaar zijn, zijn er slechts twee vereist: de URL van de webpagina die je wilt delen en een App ID, die ontwikkelaars kunnen verkrijgen door zich te registreren bij Facebook. Als je geen App ID hebt, is het registratieproces niet lastig, maar het is niet nodig als er een nog eenvoudigere oplossing bestaat.
De oorspronkelijke methode van Facebook om webpagina’s te delen, zonder de vereiste App ID, wordt niet meer genoemd in hun documentatie, maar het wordt nog steeds ondersteund. Ontelbaar veel websites gebruiken deze methode, dus ik kan me niet voorstellen dat deze snel zal worden afgeschaft. Deze URL is:
https://www.facebook.com/sharer.php
De enige beschikbare parameter is “u”, die wordt gebruikt om de URL van de webpagina die je wilt delen te specificeren. Hier is een voorbeeld van het delen van de homepage van CSS-Tricks op Facebook – ga je gang, knip-en-plak in een browser om het resultaat te zien.
https://www.facebook.com/sharer.php?u=http%3A%2F%2Fcss-tricks.com%2F
Zoals eerder uitgelegd, is de gedeelde URL noodzakelijkerwijs procent-gecodeerd. Merk ook op hoe “?” het begin van de eerste queryparameter aanduidt. De volgende queryparameters worden gescheiden door “&”, zoals we zo zullen zien.
Twitter verwijst naar het delen van een webpagina via een URL als een Tweet Web Intent – de te gebruiken URL is:
https://twitter.com/intent/tweet
In tegenstelling tot Facebook, waar alleen de te delen webpagina kan worden gespecificeerd, staat Twitter toe dat je er wat tekst en een willekeurig aantal hashtags aan toevoegt. Gebruikers hebben de mogelijkheid om dit alles aan te passen voordat ze tweeten, maar het geeft ze een voorsprong voor het geval ze niet gehinderd kunnen worden. Stel dat u bijvoorbeeld de volgende informatie wilt tweeten:
parameter | waarde |
---|---|
url | https://openvpn-client.megasupersecretplace.com:5757/ |
tekst | Tips, trucs en technieken voor het gebruik van Cascading Style Sheets. |
hashtags | css html |
De URL daarvoor, met de queryparameters percent-gecodeerd en regeleinden toegevoegd voor de duidelijkheid, is:
https://twitter.com/intent/tweet?url=http%3A%2F%2Fcss-tricks.com%2F&text=Tips%2C+Tricks%2C+and+Techniques+on+using+Cascading+Style+Sheets.&hashtags=css,html
En dat levert op:
Je zult zien dat Twitter de tekst vooraf selecteert, zodat de gebruiker die gemakkelijk kan bewerken. En vergeet niet dat de tweet onder de 140 tekens moet blijven, dus het is beter geen te lange tekst aan te leveren. In het belang van de eenvoud heb ik de bespreking van drie minder gebruikte parameters achterwege gelaten, die in detail beschreven kunnen worden in Twitter’s Developers Documentation. Met deze extra parameters kunt u de gebruikersnaam opgeven die bij de tweet hoort, suggesties voor gerelateerde gebruikersnamen en een ID van een gerelateerde tweet.
De te gebruiken URL bij het delen op LinkedIn is:
https://www.linkedin.com/shareArticle
In totaal zijn er vijf parameters beschikbaar, zoals gedetailleerd in deze grafiek uit LinkedIn’s Developers documentatie:
Parameter | Description | Max Length | Required |
---|---|---|---|
url | De url-gecodeerde URL van de pagina die u wenst te delen. | 1024 | Ja |
mini | Een verplicht argument waarvan de waarde altijd moet zijn: true | 4 | Ja |
title | De url-gecodeerde titelwaarde die u wenst te gebruiken. | 200 | Nee |
summary | De url-gecodeerde beschrijving die u wenst te gebruiken. | 256 | Nee |
bron | De url-gecodeerde bron van de inhoud (b.v. uw website of applicatienaam) | 200 | Nee |
Naast de URL van de webpagina die u wilt delen, is nog een queryparameter nodig, genaamd “mini”. Maar, zoals je kunt zien, verandert de waarde nooit, dus kunnen we die hard coderen in de URL. Om dit te demonstreren, laten we het volgende delen op LinkedIn:
parameter | waarde |
---|---|
url | https://openvpn-client.megasupersecretplace.com:5757/ |
title | CSS-Tricks |
summary | Tips, Trucs, en Technieken over het gebruik van Cascading Style Sheets. |
source | CSS-Tricks |
Dit levert de volgende URL op – ook hier zijn voor de duidelijkheid regeleinden toegevoegd:
https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.css-tricks.com%2F&title=CSS-Tricks&summary=Tips%2C+Tricks%2C+and+Techniques+on+using+Cascading+Style+Sheets.&source=CSS-Tricks
Geef een antwoord