Text to Speech – TTSWP 1.9.8

Does "Text to Speech (TTS) by Mementor" work with WordPress 6.9 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
20Unrecognized messages in the PHP error log
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 739.92 KiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: 0.043 seconds
The average page load time increased by this amount after activating the plugin.

Environment
WordPress version6.9
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 100+
WordPress.org page https://wordpress.org/plugins/text-to-speech-tts/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 14

Plugins ‹ Test site — WordPress

Page screenshot: Plugins ‹ Test site — WordPress
URL /wp-admin/plugins.php?plugin_status=all&paged=1&s
Requested URL /wp-admin/plugins.php?action=activate&plugin=text-to-speech-tts%2Ftext-to-speech-tts.php&plugin_status=all&paged=1&s&_wpnonce=e4a6cf9bef
Aspect after-activation
HTTP status 200
Load time 1.063 s
Memory usage 4.61 MiB
JS errors None
Resource errors None

Text to Speech

Page screenshot: Text to Speech
URL /wp-admin/admin.php?page=text-to-speech-tts-settings
Aspect menu-item
HTTP status 200
Load time 0.728 s
Memory usage 4.95 MiB
JS errors None
Resource errors None

Text to Speech → Content

Page screenshot: Text to Speech → Content
URL /wp-admin/admin.php?page=text-to-speech-tts-content
Aspect menu-item
HTTP status 200
Load time 0.423 s
Memory usage 4.63 MiB
JS errors None
Resource errors None

Text to Speech → Voices

Page screenshot: Text to Speech → Voices
URL /wp-admin/admin.php?page=text-to-speech-tts-voices
Aspect menu-item
HTTP status 200
Load time 0.412 s
Memory usage 4.75 MiB
JS errors None
Resource errors None

Text to Speech → Player

Page screenshot: Text to Speech → Player
URL /wp-admin/admin.php?page=text-to-speech-tts-player
Aspect menu-item
HTTP status 200
Load time 0.633 s
Memory usage 4.6 MiB
JS errors None
Resource errors None

Text to Speech → Shortcode Generator

Page screenshot: Text to Speech → Shortcode Generator
URL /wp-admin/admin.php?page=text-to-speech-tts-generator
Aspect menu-item
HTTP status 200
Load time 0.659 s
Memory usage 4.74 MiB
JS errors None
Resource errors None

Text to Speech → Speech to Text

Page screenshot: Text to Speech → Speech to Text
URL /wp-admin/admin.php?page=text-to-speech-tts-speech-to-text
Aspect menu-item
HTTP status 200
Load time 0.378 s
Memory usage 4.53 MiB
JS errors None
Resource errors None

Text to Speech → My Stats & Voices

Page screenshot: Text to Speech → My Stats & Voices
URL /wp-admin/admin.php?page=text-to-speech-tts-my-stats-voices
Aspect menu-item
HTTP status 200
Load time 0.366 s
Memory usage 4.74 MiB
JS errors None
Resource errors None

Text to Speech → Audio Statistics

Page screenshot: Text to Speech → Audio Statistics
URL /wp-admin/admin.php?page=text-to-speech-tts-statistics
Aspect menu-item
HTTP status 200
Load time 0.353 s
Memory usage 4.65 MiB
JS errors None
Resource errors None

Text to Speech → Affiliate Program

Page screenshot: Text to Speech → Affiliate Program
URL /wp-admin/admin.php?page=text-to-speech-tts-affiliate
Aspect menu-item
HTTP status 200
Load time 0.346 s
Memory usage 4.49 MiB
JS errors None
Resource errors None

Text to Speech → White Label

Page screenshot: Text to Speech → White Label
URL /wp-admin/admin.php?page=text-to-speech-tts-white-label
Aspect menu-item
HTTP status 200
Load time 0.377 s
Memory usage 4.59 MiB
JS errors None
Resource errors None

Text to Speech → License

Page screenshot: Text to Speech → License
URL /wp-admin/admin.php?page=text-to-speech-tts-license
Aspect menu-item
HTTP status 200
Load time 0.394 s
Memory usage 4.5 MiB
JS errors None
Resource errors None

Text to Speech → Advanced

Page screenshot: Text to Speech → Advanced
URL /wp-admin/admin.php?page=text-to-speech-tts-advanced
Aspect menu-item
HTTP status 200
Load time 0.449 s
Memory usage 4.49 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.273 s
Memory usage 4.39 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.510 s0.533 s+0.023 s3.78 MiB4.54 MiB+ 777.62 KiB
/wp-admin/edit.php0.383 s0.371 s-0.012 s3.78 MiB4.62 MiB+ 860.84 KiB
/wp-admin/post-new.php0.821 s0.991 s+0.170 s6.31 MiB7.12 MiB+ 829.42 KiB
/wp-admin/upload.php0.470 s0.715 s+0.245 s3.74 MiB4.48 MiB+ 754.59 KiB
/wp-admin/options-writing.php0.348 s0.398 s+0.050 s3.71 MiB4.45 MiB+ 758.27 KiB
/wp-admin/media-new.php0.387 s0.373 s-0.014 s3.7 MiB4.45 MiB+ 766.45 KiB
/wp-admin/edit-tags.php?taxonomy=category0.346 s0.342 s-0.004 s3.72 MiB4.47 MiB+ 777.22 KiB
/wp-admin/post-new.php?post_type=page0.710 s0.728 s+0.018 s6.3 MiB7.1 MiB+ 822.12 KiB
/wp-admin/options-discussion.php0.420 s0.430 s+0.010 s3.71 MiB4.45 MiB+ 754.77 KiB
/wp-admin/edit-comments.php0.344 s0.401 s+0.057 s3.73 MiB4.47 MiB+ 754.37 KiB
/0.283 s0.211 s-0.072 s4.12 MiB4.39 MiB+ 283.41 KiB
Average 0.457 s0.499 s+0.043 s4.24 MiB4.96 MiB+ 739.92 KiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

PHP
CSS
JavaScript
Language % Lines of code Comment lines Files
PHP55.0%27,2088,53761
CSS23.6%11,65880727
JavaScript21.3%10,5412,54039
SVG0.1%69057
Total 49,476 11,884 184

PHP Code Analysis | More results »

Lines of code 20,936
Total complexity 3,727
Median class complexity 50.5
Median method complexity 3.0
Most complex class Mementor_TTS_Admin
Most complex function Mementor_TTS_Ajax::generate_audio()
Classes 30
Methods 542
Functions 19

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Database Tables 6

Options wp_options 10

PHP Error Log 21 lines

[02-Feb-2026 17:21:30 UTC] Reddit conversion failed with code 404: <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="https://mementor.no/_next/static/chunks/webpack-c341992f20893fe7.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um"/><script src="https://mementor.no/_next/static/chunks/4bd1b696-4f1d212c6d9e65d9.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um" async=""></script><script src="https://mementor.no/_next/static/chunks/3794-da8eeba828f850f2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um" async=""></script><script src="https://mementor.no/_next/static/chunks/main-app-0d7596ebac99497c.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um" async=""></script><meta name="robots" content="noindex"/><script src="https://mementor.no/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um" noModule=""></script></head><body><div hidden=""><!--$?--><template id="B:0"></template><!--/$--></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="https://mementor.no/_next/static/chunks/webpack-c341992f20893fe7.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um" id="_R_" async=""></script><meta name="twitter:card" content="summary"/><link rel="icon" href="/favicon.ico?7569efd8c6c238ed" type="image/x-icon" sizes="16x16"/><link rel="apple-touch-icon" href="/assets/images/icons/mementor-180x180.jpg" sizes="180x180" type="image/jpeg"/><script >document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><div hidden id="S:0"></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"\"]\ne:I[10883,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"7177\",\"static/chunks/app/layout-265303b1f4fb412e.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"default\"]\nf:I[50925,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"7177\",\"static/chunks/app/layout-265303b1f4fb412e.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"default\"]\n10:I[1138,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"7177\",\"static/chunks/app/layout-265303b1f4fb412e.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"default\"]\n11:I[59945,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"7177\",\"static/chunks/app/layout-265303b1f4fb412e.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"default\"]\n12:I[82737,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"3449\",\"static/chunks/3449-a0da90cc0d2417d8.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"6957\",\"static/chunks/6957-0e73131214a6ffed.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"4345\",\"static/chunks/app/not-found-7b57595e0ba37780.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"default\"]\n13:I[34917,[\"3232\",\"static/chunks/3232-671c48758a456e81.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"7177\",\"static/chunks/app/layout-265303b1f4fb412e.js?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\"],\"SpeedInsights\"]\n14:I[86869,[],\"IconMark\"]\n:HL[\"https://mementor.no/_next/static/css/aedfce28f81998c5.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/2d1b4edb8977f29c.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/c446ff6fc7f86283.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/5ab2b613876ff34c.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/e1e2ffac3be54a50.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/6dcc6f314d6fd438.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/c801057fc6e1b1ec.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"rBhHBAH9XVPwF_Zp4mzRM\",\"c\":[\"\",\"api\",\"reddit-conversion\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[[\"slug\",\"api/reddit-conversion\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/aedfce28f81998c5.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/2d1b4edb8977f29c.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/c446ff6fc7f86283.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/5ab2b613876ff34c.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/e1e2ffac3be54a50.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/6dcc6f314d6fd438.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/c801057fc6e1b1ec.css?dpl=dpl_28thGPtVbmUbzQqJ3AigtCQsv9um\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$@a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$@c\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":false}\n"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"no\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://www.google.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"rel\":\"dns-prefetch\",\"href\":\"https://www.google.com\"}]]}],[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$Le\",null,{}],[\"$\",\"$Lf\",null,{}],[\"$\",\"$L10\",null,{}],[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L12\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L13\",null,{}]]}]]}]\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"title\",\"0\",{\"children\":\"Markedsføringsbyrå Oslo - SEO, AEO \u0026 Google Ads | Mementor\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Markedsføringsbyrå i Oslo spesialisert på AEO og SEO. Vi optimaliserer for både Google og AI-søk (ChatGPT). Webdesign, Google Ads og målbare resultater.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"3\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://mementor.no/api/reddit-conversion/\"}],[\"$\",\"link\",\"5\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://mementor.no/en/api/reddit-conversion/\"}],[\"$\",\"link\",\"6\",{\"rel\":\"alternate\",\"hrefLang\":\"no\",\"href\":\"https://mementor.no/api/reddit-conversion/\"}],[\"$\",\"link\",\"7\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://mementor.no/api/reddit-conversion/\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"application/rss+xml\",\"title\":\"Mementor Blogg Feed\",\"href\":\"https://mementor.no/rss/\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:title\",\"content\":\"Markedsføringsbyrå Oslo - SEO, AEO \u0026 Google Ads | Mementor\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:description\",\"content\":\"Markedsføringsbyrå i Oslo spesialisert på AEO og SEO. Vi optimaliserer for både Google og AI-søk (ChatGPT). Webdesign, Google Ads og målbare resultater.\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:url\",\"content\":\"https://mementor.no/api/reddit-conversion/\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:site_name\",\"content\":\"Mementor\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image\",\"content\":\"https://mementor.no/assets/images/og/homepage-og-no.jpg\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:alt\",\"content\":\"Digitalt Markedsføringsbyrå - Oslo\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Markedsføringsbyrå Oslo - SEO, AEO \u0026 Google Ads | Mementor\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Markedsføringsbyrå i Oslo spesialisert på AEO og SEO. Vi optimaliserer for både Google og AI-søk (ChatGPT). Webdesign, Google Ads og målbare resultater.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://mementor.no/assets/images/og/homepage-og-no.jpg\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:alt\",\"content\":\"Digitalt Markedsføringsbyrå - Oslo\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?7569efd8c6c238ed\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"22\",{\"rel\":\"apple-touch-icon\",\"href\":\"/assets/images/icons/mementor-180x180.jpg\",\"sizes\":\"180x180\",\"type\":\"image/jpeg\"}],[\"$\",\"$L14\",\"23\",{}]]\n"])</script><script>self.__next_f.push([1,"8:null\n5:E{\"digest\":\"NEXT_HTTP_ERROR_FALLBACK;404\"}\n"])</script></body></html>
[02-Feb-2026 17:21:30 UTC] [TTS] Created missing database tables on plugin load
[02-Feb-2026 17:21:30 UTC] [TTS] Created/updated database tables (version: 1.1.1)
[02-Feb-2026 17:21:35 UTC] TTS Admin: Warning - No fixed API key available for voice fetching
[02-Feb-2026 17:21:35 UTC] TTS Admin: Getting all voices without language filtering. Client will filter by: en
[02-Feb-2026 17:21:36 UTC] TTS Admin: Warning - No fixed API key available for voice fetching
[02-Feb-2026 17:21:36 UTC] TTS Admin: Getting all voices without language filtering. Client will filter by: en
[02-Feb-2026 17:21:39 UTC] [STT Page] $is_pro_active value: false (type: boolean)
[02-Feb-2026 17:21:48 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:21:48 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:21:50 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 39, post_type: post
[02-Feb-2026 17:21:50 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[02-Feb-2026 17:21:50 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:21:50 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:21:54 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 40, post_type: page
[02-Feb-2026 17:21:54 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[02-Feb-2026 17:21:54 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:21:54 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:21:58 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:21:58 UTC] TTS: Current position in append: after_content
See also: All tests for this plugin, How to Hide Text to Speech - TTSWP Admin Menus