diff --git a/docs/topics/downloader-middleware.rst b/docs/topics/downloader-middleware.rst
index 8a760e53b..3ec6e0c17 100644
--- a/docs/topics/downloader-middleware.rst
+++ b/docs/topics/downloader-middleware.rst
@@ -868,7 +868,7 @@ Whether the Meta Refresh middleware will be enabled.
 METAREFRESH_IGNORE_TAGS
 ^^^^^^^^^^^^^^^^^^^^^^^
 
-Default: ``['script', 'noscript']``
+Default: ``[]``
 
 Meta tags within these tags are ignored.
 
diff --git a/scrapy/settings/default_settings.py b/scrapy/settings/default_settings.py
index c10dc1a1c..1a7d35b13 100644
--- a/scrapy/settings/default_settings.py
+++ b/scrapy/settings/default_settings.py
@@ -225,7 +225,7 @@ MEMUSAGE_NOTIFY_MAIL = []
 MEMUSAGE_WARNING_MB = 0
 
 METAREFRESH_ENABLED = True
-METAREFRESH_IGNORE_TAGS = ['script', 'noscript']
+METAREFRESH_IGNORE_TAGS = []
 METAREFRESH_MAXDELAY = 100
 
 NEWSPIDER_MODULE = ''

Consider making METAREFRESH_IGNORE_TAGS an empty list by default
As a way to allow users to fix #1422, #3768 introduced the `METAREFRESH_IGNORE_TAGS` setting.

To keep backward compatibility, the setting was introduced with `['script', 'noscript']` as default value. However, to reproduce the behavior of web browsers, it seems the right value would be `[]`.

Should we switch the default value of the `METAREFRESH_IGNORE_TAGS` setting to `[]`, even though the change breaks backward compatibility?
diff --git a/tests/test_downloadermiddleware_redirect.py b/tests/test_downloadermiddleware_redirect.py
index e7faf14a7..e0f145d0e 100644
--- a/tests/test_downloadermiddleware_redirect.py
+++ b/tests/test_downloadermiddleware_redirect.py
@@ -300,19 +300,21 @@ class MetaRefreshMiddlewareTest(unittest.TestCase):
         body = ('''<noscript><meta http-equiv="refresh" '''
                 '''content="0;URL='http://example.org/newpage'"></noscript>''')
         rsp = HtmlResponse(req.url, body=body.encode())
-        response = self.mw.process_response(req, rsp, self.spider)
-        assert isinstance(response, Response)
+        req2 = self.mw.process_response(req, rsp, self.spider)
+        assert isinstance(req2, Request)
+        self.assertEqual(req2.url, 'http://example.org/newpage')
 
-    def test_ignore_tags_empty_list(self):
-        crawler = get_crawler(Spider, {'METAREFRESH_IGNORE_TAGS': []})
+    def test_ignore_tags_1_x_list(self):
+        """Test that Scrapy 1.x behavior remains possible"""
+        settings = {'METAREFRESH_IGNORE_TAGS': ['script', 'noscript']}
+        crawler = get_crawler(Spider, settings)
         mw = MetaRefreshMiddleware.from_crawler(crawler)
         req = Request(url='http://example.org')
         body = ('''<noscript><meta http-equiv="refresh" '''
                 '''content="0;URL='http://example.org/newpage'"></noscript>''')
         rsp = HtmlResponse(req.url, body=body.encode())
-        req2 = mw.process_response(req, rsp, self.spider)
-        assert isinstance(req2, Request)
-        self.assertEqual(req2.url, 'http://example.org/newpage')
+        response = mw.process_response(req, rsp, self.spider)
+        assert isinstance(response, Response)
 
 if __name__ == "__main__":
     unittest.main()

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-xdist pytest-mock pytest-asyncio
apt-get update apt-get install -y gcc
3.9
tests/requirements-py3.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
asgiref==3.5.2
asttokens==3.0.0
attrs==25.3.0
Automat==24.8.1
blessed==1.20.0
bpython==0.25
Brotli==1.0.9
brotlipy==0.7.0
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
click==8.1.8
constantly==23.10.4
coverage==7.8.0
cryptography==38.0.4
cssselect==1.3.0
curtsies==0.4.2
cwcwidth==0.1.10
decorator==5.2.1
exceptiongroup==1.2.2
execnet==2.1.1
executing==2.2.0
Flask==2.2.5
greenlet==3.1.1
h11==0.14.0
h2==4.2.0
hpack==4.1.0
hyperframe==6.1.0
hyperlink==21.0.0
idna==3.10
importlib_metadata==8.6.1
incremental==24.7.2
iniconfig==2.1.0
ipython==8.18.1
itsdangerous==2.2.0
jedi==0.19.2
Jinja2==3.1.6
jmespath==1.0.1
kaitaistruct==0.10
ldap3==2.9.1
lxml==5.3.1
MarkupSafe==3.0.2
matplotlib-inline==0.1.7
mitmproxy==9.0.1
mitmproxy_wireguard==0.1.23
msgpack==1.0.8
packaging==24.2
parsel==1.10.0
parso==0.8.4
passlib==1.7.4
pexpect==4.9.0
pluggy==1.5.0
prompt_toolkit==3.0.50
Protego==0.4.0
protobuf==4.25.6
ptyprocess==0.7.0
publicsuffix2==2.20191221
pure_eval==0.2.3
pyasn1==0.6.1
pyasn1_modules==0.4.2
pycparser==2.22
PyDispatcher==2.0.7
Pygments==2.19.1
pyOpenSSL==22.1.0
pyparsing==3.0.9
pyperclip==1.8.2
pytest==8.3.5
pytest-asyncio==0.26.0
pytest-cov==6.0.0
pytest-mock==3.14.0
pytest-twisted==1.14.3
pytest-xdist==3.6.1
pyxdg==0.28
queuelib==1.7.0
requests==2.32.3
ruamel.yaml==0.17.40
ruamel.yaml.clib==0.2.12
-e git+https://github.com/scrapy/scrapy.git@22f7934fcc4912c1f9cdf87e426eb29d777db349#egg=Scrapy
service-identity==24.2.0
six==1.17.0
sortedcontainers==2.4.0
stack-data==0.6.3
sybil==9.1.0
testfixtures==8.3.0
tomli==2.2.1
tornado==6.4.2
traitlets==5.14.3
Twisted==24.11.0
typing_extensions==4.13.0
urllib3==2.3.0
urwid==2.1.2
w3lib==2.3.1
wcwidth==0.2.13
Werkzeug==3.1.3
wsproto==1.2.0
zipp==3.21.0
zope.interface==7.2
zstandard==0.19.0

name: scrapy
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
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - asgiref==3.5.2
      - asttokens==3.0.0
      - attrs==25.3.0
      - automat==24.8.1
      - blessed==1.20.0
      - bpython==0.25
      - brotli==1.0.9
      - brotlipy==0.7.0
      - certifi==2025.1.31
      - cffi==1.17.1
      - charset-normalizer==3.4.1
      - click==8.1.8
      - constantly==23.10.4
      - coverage==7.8.0
      - cryptography==38.0.4
      - cssselect==1.3.0
      - curtsies==0.4.2
      - cwcwidth==0.1.10
      - decorator==5.2.1
      - exceptiongroup==1.2.2
      - execnet==2.1.1
      - executing==2.2.0
      - flask==2.2.5
      - greenlet==3.1.1
      - h11==0.14.0
      - h2==4.2.0
      - hpack==4.1.0
      - hyperframe==6.1.0
      - hyperlink==21.0.0
      - idna==3.10
      - importlib-metadata==8.6.1
      - incremental==24.7.2
      - iniconfig==2.1.0
      - ipython==8.18.1
      - itsdangerous==2.2.0
      - jedi==0.19.2
      - jinja2==3.1.6
      - jmespath==1.0.1
      - kaitaistruct==0.10
      - ldap3==2.9.1
      - lxml==5.3.1
      - markupsafe==3.0.2
      - matplotlib-inline==0.1.7
      - mitmproxy==9.0.1
      - mitmproxy-wireguard==0.1.23
      - msgpack==1.0.8
      - packaging==24.2
      - parsel==1.10.0
      - parso==0.8.4
      - passlib==1.7.4
      - pexpect==4.9.0
      - pluggy==1.5.0
      - prompt-toolkit==3.0.50
      - protego==0.4.0
      - protobuf==4.25.6
      - ptyprocess==0.7.0
      - publicsuffix2==2.20191221
      - pure-eval==0.2.3
      - pyasn1==0.6.1
      - pyasn1-modules==0.4.2
      - pycparser==2.22
      - pydispatcher==2.0.7
      - pygments==2.19.1
      - pyopenssl==22.1.0
      - pyparsing==3.0.9
      - pyperclip==1.8.2
      - pytest==8.3.5
      - pytest-asyncio==0.26.0
      - pytest-cov==6.0.0
      - pytest-mock==3.14.0
      - pytest-twisted==1.14.3
      - pytest-xdist==3.6.1
      - pyxdg==0.28
      - queuelib==1.7.0
      - requests==2.32.3
      - ruamel-yaml==0.17.40
      - ruamel-yaml-clib==0.2.12
      - service-identity==24.2.0
      - six==1.17.0
      - sortedcontainers==2.4.0
      - stack-data==0.6.3
      - sybil==9.1.0
      - testfixtures==8.3.0
      - tomli==2.2.1
      - tornado==6.4.2
      - traitlets==5.14.3
      - twisted==24.11.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - urwid==2.1.2
      - w3lib==2.3.1
      - wcwidth==0.2.13
      - werkzeug==3.1.3
      - wsproto==1.2.0
      - zipp==3.21.0
      - zope-interface==7.2
      - zstandard==0.19.0
prefix: /opt/conda/envs/scrapy

tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_ignore_tags_default
tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_dont_redirect tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_latin1_location tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_max_redirect_times tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_priority_adjust tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_302 tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_302_head tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_302_relative tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_3xx_permanent tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_reasons tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_redirect_urls tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_request_meta_handling tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_spider_handling tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_ttl tests/test_downloadermiddleware_redirect.py::RedirectMiddlewareTest::test_utf8_location tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_ignore_tags_1_x_list tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_max_redirect_times tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_meta_refresh tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_meta_refresh_trough_posted_request tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_meta_refresh_with_high_interval tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_priority_adjust tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_redirect_reasons tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_redirect_urls tests/test_downloadermiddleware_redirect.py::MetaRefreshMiddlewareTest::test_ttl
docs/topics/downloader-middleware.rst scrapy/settings/default_settings.py
docs/topics/downloader-middleware.rst scrapy/settings/default_settings.py