Text to Speech - TTSWP 3.1.0

Does Text to Speech - TTSWP work with WordPress 6.9.4 and PHP 8.1.12? A smoke test was performed on .

Summary

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

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

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

Environment
WordPress version6.9.4
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 20

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=3c9039fcd4
Aspect after-activation
HTTP status 200
Load time 1.556 s
Memory usage 4.79 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.852 s
Memory usage 4.98 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.795 s
Memory usage 4.73 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.590 s
Memory usage 4.87 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 1.176 s
Memory usage 4.81 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.600 s
Memory usage 4.88 MiB
JS errors None
Resource errors None

Text to Speech → Word Replacement

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

Text to Speech → CSS Selectors

Page screenshot: Text to Speech → CSS Selectors
URL /wp-admin/admin.php?page=text-to-speech-tts-css-selectors
Aspect menu-item
HTTP status 200
Load time 0.352 s
Memory usage 4.65 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.332 s
Memory usage 4.68 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.617 s
Memory usage 4.72 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.481 s
Memory usage 4.87 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-audio-library
Aspect menu-item
HTTP status 200
Load time 0.347 s
Memory usage 4.81 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.355 s
Memory usage 4.65 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.72 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-upgrade
Aspect menu-item
HTTP status 200
Load time 0.345 s
Memory usage 4.68 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.484 s
Memory usage 4.67 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-account
Aspect menu-item
HTTP status 200
Load time 0.502 s
Memory usage 4.69 MiB
JS errors None
Resource errors None

Text to Speech → PRO Support

Page screenshot: Text to Speech → PRO Support
URL /wp-admin/admin.php?page=text-to-speech-tts-pro-help
Aspect menu-item
HTTP status 200
Load time 0.255 s
Memory usage N/A
JS errors None
Resource errors None

Text to Speech →

Page screenshot: Text to Speech →
URL /wp-admin/admin.php?page=text-to-speech-tts-documentation
Aspect menu-item
HTTP status 200
Load time 0.292 s
Memory usage 4.65 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.301 s
Memory usage 4.42 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.480 s0.817 s+0.337 s3.78 MiB4.7 MiB+ 948.21 KiB
/wp-admin/edit.php0.390 s0.649 s+0.259 s3.78 MiB4.79 MiB+ 1.01 MiB
/wp-admin/post-new.php0.847 s1.330 s+0.483 s6.31 MiB7.28 MiB+ 995.51 KiB
/wp-admin/upload.php0.491 s0.450 s-0.041 s3.74 MiB4.63 MiB+ 916.33 KiB
/wp-admin/options-writing.php0.365 s0.350 s-0.015 s3.71 MiB4.61 MiB+ 919.99 KiB
/wp-admin/media-new.php0.547 s0.424 s-0.123 s3.7 MiB4.61 MiB+ 928.19 KiB
/wp-admin/edit-tags.php?taxonomy=category0.340 s0.333 s-0.007 s3.72 MiB4.63 MiB+ 938.95 KiB
/wp-admin/post-new.php?post_type=page0.774 s0.780 s+0.006 s6.3 MiB7.25 MiB+ 979.23 KiB
/wp-admin/options-discussion.php0.354 s0.406 s+0.052 s3.71 MiB4.61 MiB+ 916.49 KiB
/wp-admin/edit-comments.php0.374 s0.397 s+0.023 s3.74 MiB4.63 MiB+ 916.09 KiB
/0.486 s0.200 s-0.286 s4.11 MiB4.42 MiB+ 323.41 KiB
Average 0.495 s0.558 s+0.063 s4.24 MiB5.11 MiB+ 892.16 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
PHP54.4%29,3618,14571
CSS25.4%13,69791629
JavaScript20.0%10,7912,57540
SVG0.2%119164
Total 53,968 11,637 204

PHP Code Analysis | More results »

Lines of code 20,672
Total complexity 4,055
Median class complexity 58.0
Median method complexity 3.0
Most complex class Mementor_TTS_Admin
Most complex function Mementor_TTS_Ajax::generate_audio()
Classes 31
Methods 604
Functions 25

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 11

PHP Error Log 24 lines

[29-Mar-2026 16:27:32 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-8900730c817cfc42.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38"/><script src="https://mementor.no/_next/static/chunks/4bd1b696-4f1d212c6d9e65d9.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38" async=""></script><script src="https://mementor.no/_next/static/chunks/3794-ba55e53218a6fbbf.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38" async=""></script><script src="https://mementor.no/_next/static/chunks/main-app-0d7596ebac99497c.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38" async=""></script><meta name="robots" content="noindex"/><script src="https://mementor.no/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38" 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-8900730c817cfc42.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38" 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-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"7177\",\"static/chunks/app/layout-ab8ccbba714aad05.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"default\"]\nf:I[50925,[\"3232\",\"static/chunks/3232-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"7177\",\"static/chunks/app/layout-ab8ccbba714aad05.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"default\"]\n10:I[1138,[\"3232\",\"static/chunks/3232-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"7177\",\"static/chunks/app/layout-ab8ccbba714aad05.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"default\"]\n11:I[59945,[\"3232\",\"static/chunks/3232-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"7177\",\"static/chunks/app/layout-ab8ccbba714aad05.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"default\"]\n12:I[82737,[\"3232\",\"static/chunks/3232-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"3449\",\"static/chunks/3449-aeef72dd906a99a3.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"6957\",\"static/chunks/6957-0e73131214a6ffed.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"4345\",\"static/chunks/app/not-found-7b57595e0ba37780.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"default\"]\n13:I[34917,[\"3232\",\"static/chunks/3232-91f808782e5a6f46.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"5945\",\"static/chunks/5945-070b02ae6d32b8c2.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"7177\",\"static/chunks/app/layout-ab8ccbba714aad05.js?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\"],\"SpeedInsights\"]\n14:I[86869,[],\"IconMark\"]\n:HL[\"https://mementor.no/_next/static/css/aedfce28f81998c5.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/2d1b4edb8977f29c.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/c446ff6fc7f86283.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/5ab2b613876ff34c.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/e1e2ffac3be54a50.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/6dcc6f314d6fd438.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n:HL[\"https://mementor.no/_next/static/css/c801057fc6e1b1ec.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2_ipxIUZfTKIdU5fWmYWl\",\"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_4DWGgYe47zU3fSYsTouJt5eagB38\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/2d1b4edb8977f29c.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/c446ff6fc7f86283.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/5ab2b613876ff34c.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/e1e2ffac3be54a50.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"5\",{\"rel\":\"stylesheet\",\"href\":\"https://mementor.no/_next/static/css/6dcc6f314d6fd438.css?dpl=dpl_4DWGgYe47zU3fSYsTouJt5eagB38\",\"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_4DWGgYe47zU3fSYsTouJt5eagB38\",\"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>
[29-Mar-2026 16:27:32 UTC] [TTS] Created/updated database tables (version: 1.1.1)
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 125
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 126
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 127
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 128
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 129
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 130
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 131
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 132
[29-Mar-2026 16:27:46 UTC] PHP Warning:  Undefined variable $prev_stats in /wp-content/plugins/text-to-speech-tts/admin/partials/pages/statistics.php on line 133
[29-Mar-2026 16:27:56 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[29-Mar-2026 16:27:56 UTC] TTS: Current position in append: after_content
[29-Mar-2026 16:27:59 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 39, post_type: post
[29-Mar-2026 16:27:59 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[29-Mar-2026 16:27:59 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[29-Mar-2026 16:27:59 UTC] TTS: Current position in append: after_content
[29-Mar-2026 16:28:04 UTC] [TTS Auto-Gen] Hook called - new_status: auto-draft, old_status: new, post_id: 40, post_type: page
[29-Mar-2026 16:28:04 UTC] [TTS Auto-Gen] Skipping - not a new publish (new: auto-draft, old: new)
[29-Mar-2026 16:28:04 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[29-Mar-2026 16:28:04 UTC] TTS: Current position in append: after_content
[29-Mar-2026 16:28:08 UTC] TTS: maybe_append_to_content called - THIS SHOULD NOT HAPPEN FOR before_title!
[29-Mar-2026 16:28:08 UTC] TTS: Current position in append: after_content
See also: All tests for this plugin, How to Hide Text to Speech - TTSWP Admin Menus