diff --git a/packages/metascraper-logo-favicon/src/index.js b/packages/metascraper-logo-favicon/src/index.js
index 9c38051fe..6b2ed8661 100644
--- a/packages/metascraper-logo-favicon/src/index.js
+++ b/packages/metascraper-logo-favicon/src/index.js
@@ -70,7 +70,7 @@ const getDomNodeSizes = (domNodes, attr, url) =>
chain(domNodes)
.reduce((acc, domNode) => {
const relativeUrl = domNode.attribs[attr]
- if (!relativeUrl) return acc
+ if (!relativeUrl || relativeUrl === url) return acc
const normalizedUrl = normalizeUrl(url, relativeUrl)
if (!normalizedUrl) return acc
return [
diff --git a/packages/metascraper-logo-favicon/test/index.js b/packages/metascraper-logo-favicon/test/index.js
index 82bd89141..8f0e9f9bb 100644
--- a/packages/metascraper-logo-favicon/test/index.js
+++ b/packages/metascraper-logo-favicon/test/index.js
@@ -85,6 +85,19 @@ test('get the biggest icon possible', async t => {
t.is(metadata.logo, 'https://cdn.microlink.io/logo/favicon-196x196.png')
})
+test("don't resolve root path as logo", async t => {
+ const url = 'https://thisurldoesnotexist.com'
+ const metascraper = createMetascraper()
+ const html = createHtml([
+ '',
+ '',
+ ``,
+ ''
+ ])
+ const metadata = await metascraper({ url, html })
+ t.is(metadata.logo, null)
+})
+
test('get the biggest respecting the format', async t => {
const url = 'https://github.com'
const metascraper = createMetascraper()