Você parece estar selecionando da mesma mesa duas vezes. Cada uma dessas ocorrências precisa de seu próprio alias:
SELECT
l.url
FROM
b as b1 /* <-- */
INNER JOIN links as l
ON b1.parent_id = l.id
INNER JOIN b as b2 /* <-- */
ON l.id = b2.link
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30
Observe que também adicionei o alias ausente
l
para os links
tabela.