Using hash tags with Facebook share possible?
Solution 1
Use URL Encoding for the #
character. Just replace the following:
http://www.example.com/#/path/to/whatever/
with:
http://www.example.com/%23/path/to/whatever/
This will allow you to pass the #
to share on Facebook, Twitter, etc without getting stripped.
Solution 2
Take a look at Google's answer to the AJAX content problem, the hashbang.
Basically, on your AJAX page, set the hash to !/path/to/whatever/
– in other words,
http://www.example.com/#!/path/to/whatever/
Keep in mind your server must actually serve content similar to what you'd see in the AJAX application at http://www.example.com/path/to/whatever/
.
I'm not sure if Facebook respects the hashbang, but it does at least solve Googlebot problems for you. Edit: It looks like Facebook doesn't support the hashbang. You'll probably have to set up a redirector page.
Staffan Estberg
Creative developer and filmmaker based in Bangkok.
Updated on June 30, 2022Comments
-
Staffan Estberg almost 2 years
I'm developing an ajax based web site and I want to include a FB share function on the loaded content. The links use a hash tag and I can't manage to get the full links to show up when using the share function, I only get the domain url. Are hash tags not allowed or is there a special method for sharing such links?
-
Staffan Estberg about 12 yearsThanks. Yes I saw that thread now, looks like FB doesn't support any type of hash method :(
-
FFish almost 9 yearsIt does for me! I first replaced the
#
with%23
and than PHP'surlencode()
on top. -
Pietro Coelho over 8 yearsTried to use javascript encodeURIComponent but didn't work.