diff --git a/docs/source/conf.py b/docs/source/conf.py
index c7c0614..9892732 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -26,7 +26,7 @@ author = 'Shawn M. Jones'
 # The short X.Y version
 version = ''
 # The full version, including alpha/beta/rc tags
-release = '0.2018.09.05.234815'
+release = '0.2018.09.06.202242'
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/mementoembed/favicon.py b/mementoembed/favicon.py
index 60203f0..2d53036 100644
--- a/mementoembed/favicon.py
+++ b/mementoembed/favicon.py
@@ -52,18 +52,27 @@ def get_favicon_from_html(content):
 
     for link in links:
 
-        if 'icon' in link['rel']:
-            favicon_uri = link['href']
-            break
+        try:
+            if 'icon' in link['rel']:
+                favicon_uri = link['href']
+                break
+        except KeyError:
+            module_logger.exception("there was no 'rel' attribute in this link tag: {}".format(link))
+            favicon_uri == None
 
     # if that fails, try the older, nonstandard relation 'shortcut'
     if favicon_uri == None:
 
         for link in links:
 
-            if 'shortcut' in link['rel']:
-                favicon_uri = link['href']
-                break
+            try:
+                if 'shortcut' in link['rel']:
+                    favicon_uri = link['href']
+                    break
+            except KeyError:
+                module_logger.exception("there was no 'rel' attribute in this link tag: {}".format(link))
+                favicon_uri == None
+
 
     return favicon_uri
 
diff --git a/mementoembed/version.py b/mementoembed/version.py
index 72f9069..d1f031b 100644
--- a/mementoembed/version.py
+++ b/mementoembed/version.py
@@ -1,3 +1,3 @@
 __appname__ = "MementoEmbed"
-__appversion__ = '0.2018.09.05.234815'
+__appversion__ = '0.2018.09.06.202242'
 __useragent__ = "{}/{}".format(__appname__, __appversion__)

Exception while searching for favicon
MementoEmbed throws an exception for the following URI-M:
* http://wayback.archive-it.org/4887/20141104211213/http://time.com/3502740/ebola-virus-1976/

Here is the log entry:
```
[2018-09-06 14:07:36,093 -0600 ] - ERROR - [ /services/product/socialcard/http://wayback.archive-it.org/4887/20141104211213/http://time.com/3502740/ebola-virus-1976/ ]: mementoembed.services.errors - An unforeseen error has occurred
Traceback (most recent call last):
  File "/Volumes/nerfherder External/Unsynced-Projects/MementoEmbed/mementoembed/services/errors.py", line 27, in handle_errors
    return function_name(urim, preferences)
  File "/Volumes/nerfherder External/Unsynced-Projects/MementoEmbed/mementoembed/services/product.py", line 77, in generate_socialcard_response
    original_favicon_uri = s.original_favicon
  File "/Volumes/nerfherder External/Unsynced-Projects/MementoEmbed/mementoembed/mementosurrogate.py", line 71, in original_favicon
    return self.originalresource.favicon
  File "/Volumes/nerfherder External/Unsynced-Projects/MementoEmbed/mementoembed/originalresource.py", line 49, in favicon
    candidate_favicon = get_favicon_from_html(self.content)
  File "/Volumes/nerfherder External/Unsynced-Projects/MementoEmbed/mementoembed/favicon.py", line 55, in get_favicon_from_html
    if 'icon' in link['rel']:
  File "/Users/smj/.virtualenvs/MementoEmbed-gkunwTeo/lib/python3.7/site-packages/bs4/element.py", line 1071, in __getitem__
    return self.attrs[key]
KeyError: 'rel'
```

The problem is that the code assumes that all `link` tags in html have a `rel` attribute.
diff --git a/tests/test_archiveresource.py b/tests/test_archiveresource.py
index 0be51a5..8c33160 100644
--- a/tests/test_archiveresource.py
+++ b/tests/test_archiveresource.py
@@ -279,3 +279,52 @@ class TestArchiveResource(unittest.TestCase):
         x = ArchiveResource(urim, httpcache)
 
         self.assertEqual(x.favicon, expected_favicon)
+
+    def test_link_tag_no_rel(self):
+
+        expected_favicon = None
+
+        cachedict = {
+            "http://myarchive.org":
+                mock_response(
+                    headers={},
+                    content="""<html>
+                    <head>
+                        <title>Is this a good title?</title>
+                        <link title="a good title" href="content/favicon.ico">
+                    </head>
+                    <body>Is this all there is to content?</body>
+                    </html>""",
+                    status=200,
+                    url = "testing-url://notused"
+                ),
+            expected_favicon:
+                mock_response(
+                    headers = { 'content-type': 'image/x-testing'},
+                    content = "a",
+                    status=200,
+                    url = "testing-url://notused"
+                ),
+            "http://myarchive.org/favicon.ico":
+                mock_response(
+                    headers={},
+                    content="not found",
+                    status=404,
+                    url="testing-url://notused"
+                ),
+            "https://www.google.com/s2/favicons?domain=myarchive.org":
+                mock_response(
+                    headers={},
+                    content="not found",
+                    status=404,
+                    url="testing-url://notused"
+                )
+        }
+
+        httpcache = mock_httpcache(cachedict)
+
+        urim = "http://myarchive.org/20160518000858/http://example.com/somecontent"
+
+        x = ArchiveResource(urim, httpcache)
+
+        self.assertEqual(x.favicon, expected_favicon)

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest numpy>=1.16.0 pandas>=1.0.0
apt-get update apt-get install -y gcc
3.9
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
aiu==0.2.4
async-timeout==5.0.1
beautifulsoup4==4.13.3
blinker==1.9.0
bs4==0.0.2
certifi==2025.1.31
chardet==5.2.0
charset-normalizer==3.4.1
click==8.1.8
cssselect==1.3.0
dicttoxml==1.7.16
exceptiongroup==1.2.2
filelock==3.18.0
Flask==3.1.0
html5lib==1.1
htmlmin==0.1.12
idna==3.10
importlib_metadata==8.6.1
iniconfig==2.1.0
itsdangerous==2.2.0
Jinja2==3.1.6
jusText==3.0.2
lxml==5.3.1
lxml_html_clean==0.4.1
MarkupSafe==3.0.2
-e git+https://github.com/oduwsdl/MementoEmbed.git@dfff20f4d336e76de33851d77c3f4a4af83a5ed2#egg=mementoembed
numpy==2.0.2
packaging==24.2
pandas==2.2.3
pillow==11.1.0
pluggy==1.5.0
pytest==8.3.5
python-dateutil==2.9.0.post0
pytz==2025.2
readability-lxml==0.8.1
redis==5.2.1
requests==2.32.3
requests-cache==0.5.2
requests-file==2.1.0
requests-futures==1.0.2
six==1.17.0
soupsieve==2.6
tldextract==5.1.3
tomli==2.2.1
typing_extensions==4.13.0
tzdata==2025.2
urllib3==2.3.0
warcio==1.7.5
webencodings==0.5.1
Werkzeug==3.1.3
zipp==3.21.0

name: MementoEmbed
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - aiu==0.2.4
      - async-timeout==5.0.1
      - beautifulsoup4==4.13.3
      - blinker==1.9.0
      - bs4==0.0.2
      - certifi==2025.1.31
      - chardet==5.2.0
      - charset-normalizer==3.4.1
      - click==8.1.8
      - cssselect==1.3.0
      - dicttoxml==1.7.16
      - exceptiongroup==1.2.2
      - filelock==3.18.0
      - flask==3.1.0
      - html5lib==1.1
      - htmlmin==0.1.12
      - idna==3.10
      - importlib-metadata==8.6.1
      - iniconfig==2.1.0
      - itsdangerous==2.2.0
      - jinja2==3.1.6
      - justext==3.0.2
      - lxml==5.3.1
      - lxml-html-clean==0.4.1
      - markupsafe==3.0.2
      - numpy==2.0.2
      - packaging==24.2
      - pandas==2.2.3
      - pillow==11.1.0
      - pluggy==1.5.0
      - pytest==8.3.5
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - readability-lxml==0.8.1
      - redis==5.2.1
      - requests==2.32.3
      - requests-cache==0.5.2
      - requests-file==2.1.0
      - requests-futures==1.0.2
      - six==1.17.0
      - soupsieve==2.6
      - tldextract==5.1.3
      - tomli==2.2.1
      - typing-extensions==4.13.0
      - tzdata==2025.2
      - urllib3==2.3.0
      - warcio==1.7.5
      - webencodings==0.5.1
      - werkzeug==3.1.3
      - zipp==3.21.0
prefix: /opt/conda/envs/MementoEmbed

tests/test_archiveresource.py::TestArchiveResource::test_link_tag_no_rel
tests/test_archiveresource.py::TestArchiveResource::test_404_favicon_from_constructed_favicon_uri_so_google_service tests/test_archiveresource.py::TestArchiveResource::test_404_favicon_from_html_so_constructed_favicon_uri tests/test_archiveresource.py::TestArchiveResource::test_collection_data_extraction tests/test_archiveresource.py::TestArchiveResource::test_favicon_from_html tests/test_archiveresource.py::TestArchiveResource::test_favicon_from_html_relative_uri tests/test_archiveresource.py::TestArchiveResource::test_no_good_favicon tests/test_archiveresource.py::TestArchiveResource::test_simplestuff
mementoembed/version.py mementoembed/favicon.py docs/source/conf.py
mementoembed/version.py mementoembed/favicon.py docs/source/conf.py