Text to Speech – TTSWP 1.9.7

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: insignificant.
The plugin didn't make the site noticeably slower.

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=658248a3d3
Aspect after-activation
HTTP status 200
Load time 0.935 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.794 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.408 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.393 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.535 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.568 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.364 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.362 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.355 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.349 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.496 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.409 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.322 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.281 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.418 s0.478 s+0.060 s3.78 MiB4.54 MiB+ 777.62 KiB
/wp-admin/edit.php0.363 s0.371 s+0.008 s3.78 MiB4.62 MiB+ 860.84 KiB
/wp-admin/post-new.php0.865 s1.078 s+0.213 s6.31 MiB7.12 MiB+ 829.42 KiB
/wp-admin/upload.php0.729 s0.435 s-0.294 s3.74 MiB4.48 MiB+ 754.59 KiB
/wp-admin/options-writing.php0.337 s0.339 s+0.002 s3.71 MiB4.45 MiB+ 758.27 KiB
/wp-admin/media-new.php0.508 s0.367 s-0.141 s3.7 MiB4.45 MiB+ 766.45 KiB
/wp-admin/edit-tags.php?taxonomy=category0.439 s0.325 s-0.114 s3.72 MiB4.47 MiB+ 777.22 KiB
/wp-admin/post-new.php?post_type=page0.712 s0.699 s-0.013 s6.3 MiB7.1 MiB+ 822.12 KiB
/wp-admin/options-discussion.php0.341 s0.355 s+0.014 s3.71 MiB4.45 MiB+ 754.77 KiB
/wp-admin/edit-comments.php0.325 s0.410 s+0.085 s3.73 MiB4.47 MiB+ 754.37 KiB
/0.295 s0.169 s-0.126 s4.12 MiB4.39 MiB+ 283.41 KiB
Average 0.485 s0.457 s-0.028 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,1818,53061
CSS23.6%11,65880727
JavaScript21.3%10,5412,54039
SVG0.1%69057
Total 49,449 11,877 184

PHP Code Analysis | More results »

Lines of code 20,909
Total complexity 3,715
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:05:51 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:05:51 UTC] [TTS] Created missing database tables on plugin load
[02-Feb-2026 17:05:51 UTC] [TTS] Created/updated database tables (version: 1.1.1)
[02-Feb-2026 17:05:56 UTC] TTS Admin: Warning - No fixed API key available for voice fetching
[02-Feb-2026 17:05:56 UTC] TTS Admin: Getting all voices without language filtering. Client will filter by: en
[02-Feb-2026 17:05:57 UTC] TTS Admin: Warning - No fixed API key available for voice fetching
[02-Feb-2026 17:05:57 UTC] TTS Admin: Getting all voices without language filtering. Client will filter by: en
[02-Feb-2026 17:06:01 UTC] [STT Page] $is_pro_active value: false (type: boolean)
[02-Feb-2026 17:06:09 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:06:09 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:06:11 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 39, post_type: post
[02-Feb-2026 17:06:11 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[02-Feb-2026 17:06:11 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:06:11 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:06:16 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 40, post_type: page
[02-Feb-2026 17:06:16 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[02-Feb-2026 17:06:16 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:06:16 UTC] TTS: Current position in append: after_content
[02-Feb-2026 17:06:19 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[02-Feb-2026 17:06:19 UTC] TTS: Current position in append: after_content
See also: All tests for this plugin, How to Hide Text to Speech - TTSWP Admin Menus