Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I think I'll add that, when it comes to core web vitals, the most important thing to do is ensure you have fast running javascript, stylesheets, images, etc. It doesn't really matter what language is on the backend as long as it's coded efficiently to be fast loading. You might also wish to use a performance CDN such as Cloudflare or Fastly to cache your content.

MasoodDidThat commented: Thanks, that was helpful +0
Biiim commented: Basically what I would say, Node JS is FAST when I was playing with it, Java I hate but I dont think it would have to be slow if you program it right +9
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

This system doesn't allow replies in the way that Reddit and such do. Odd, but you own this.

DaniWeb was started back in 2002 at a time when flat forums were far more popular than threaded forums. Threaded discussions were more closely associated with bulletin board systems and Usenet back then. Even though DaniWeb actually began as a threaded forum, we found that early users back then were confused when the platform was designed as anything beyond a simple question followed by a flat list of responses. Fast forward a couple of decades, and sites like Reddit successfully introduced threaded discussions to Gen Z. It didn't seem quite right for us to follow suit and reintroduce threaded discussions here, especially as we're primarily a Q&A site. I would say that flat forums are a bit of a mix between Stack Overflow, which is one question followed by answers to that question that are never meant to engage with one another, and Reddit, which is one question followed by one or more follow-up questions and answers of infinite depth.

rproffitt commented: Dare I? sure. ok boomer. +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

OpenAI rips content, no one bats an eye. Deepsink does same, "They are ripping off our work."

I don't know why you think that. In the SEO publishing industry, us publishers have been very vocally complaining that OpenAI, Google, etc. have been stealing our content for at least 2 years now.

I think the difference is, as I pointed out in my previous post here, us publishers have a symbiotic/codependent relationship with OpenAI, Google, etc. because it's those services that send us the majority of our web traffic.

When it comes to some random Chinese company that we aren't relying on for our own business model, we can take action to shoo them away without repercussions. We can't afford to do that with OpenAI.

Sending away AI spiders isn't a technical problem at all. That's why I don't understand your whole poisoning with gibberish nonsense. It's a business problem for us publishers. Not a technical problem at all.

rproffitt commented: Also: OpenAI Claims DeepSeek Plagiarized Its Plagiarism Machine +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I understand that's what you deployed, rproffitt. My question was directed to Masood.

rproffitt commented: This system doesn't allow replies in the way that Reddit and such do. Odd, but you own this. +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Bitcoin and Ethereum are the biggies.

Here's a comprehensive list.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I think you might be confusing Java with Javascript. Is your website built with Javascript technologies such as Node.js?

rproffitt commented: "Tomcat, web server and servlet container that's used to host Java-based web applications." That's what we deployed. +17
MasoodDidThat commented: Yes Dani, By Java i meant Javascript, my website is hosted by Vercel server +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

"Kiss my shiny metal ***"

Seriously?!

rproffitt commented: OpenAI rips content, no one bats an eye. Deepsink does same, "They are ripping off our work." +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

To Pebble's point, I genuinely believe that the **** that was spewed in the first post of this thread is not any more sophisticated than those chain messages circulating Facebook that say things like copy and paste the sentence, "I don't give Facebook the authority to blah or the copyright to blah" into a FB post, thinking it will be legally binding.

rproffitt commented: Today it's clear that "Rule Of Law" is fantasy south of Canada +17
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

As Harry points out, my first guess would be to check robots.txt and ensure you aren't blocking any pages from SEMRush. Also make sure you aren't using a CDN or proxy like Cloudflare that is blocking it from their side.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

If you're not a part of the solution, you're a part of the precipitate.

I think this sounds terrible. The global population is, more and more, relying on AI to serve up accurate answers. There's already the gigantic problem of hallucinations as well as AI consistently spewing out false information that sounds entirely believable, and therefore spreading false information.

How is making the problem worse going to help with your mission of turning the world into a better place?

rproffitt commented: AI appears to be making things worse. Better for the robber barons, not so much for us. +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Huh?? Why are you responding to someone's post with pure spam? If you agree it's spam, I'm going to delete your post with a Keep It Spam-Free infraction.

rproffitt commented: Fine. +17
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

That's what happens when you click on the little link button in our editor toolbar, and then when prompted to enter a URL, you hit cancel instead, and so it adds [Click Here](null) where null is meant to be the URL the link should point to.

rproffitt commented: So it's a feature! +17
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Dani, which is better for understanding our product and improving the conversion ratio: a 7-day free trial or a 30-day free trial?

I think that entirely depends on the product, how often it's typically used, how long it takes for a user to configure and get the hang of it, and how long it takes the average user to recognize its value and make up their mind that it's worth the amount of money you're asking for it.

Dhanabalan M commented: Okay, thank you for your responses and your valuable time. Thanks a lot! +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Something else that's probably worth a mention here is that this all also depends on what the business objectives are. Is the primary goal to get more signups and people using the Chrome extension, or is the primary goal to get more subscriptions?

For example, suppose that with not asking for a credit card until after a 30 day trial, you get 100 signups, but only 1 of those people ends up forking over their credit card and signing up for a subscription. However, when you do ask for a credit card upfront, you get only 3 signups. That's 97 fewer people on your mailing list. That's 97 fewer people using your product. However, it's 3X the amount of revenue!

Which way you go depends entirely on the business needs and goals.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

The short version of the polite reply I got was "nuh uh".

You got that response most likely because PyCoder has an understanding of what I explained here in this thread.

I think subscription models are really popular these days, and I am one of those folks who has a monthly subscription for Microsoft Office, Quickbooks, and tons of others. If you're concerned about entering your credit card information, then you might want to set up a virtual card with your bank (if that's a feature of your bank) just for the individual vendor. You can limit virtual cards to just certain amount limits as well as custom set expiration dates (e.g. a month away).

Dhanabalan M commented: Dani, which is better for understanding our product and improving the conversion ratio: a 7-day free trial or a 30-day free trial? +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It looks like you have 800 pages that have been successfully crawled by Google, but Google chose not to index them because it felt as if they were too low quality (or some other reason) to make it into the index. Start by reviewing the pages that are in this category to see if you spot any obvious reasons why Google might consider them thin content, not enough unique content on the page, duplicate content (content that is largely the same or similar to other URLs elsewhere on the web, or elsewhere on your website), in violation of any of Google's policies, etc.

Pages in the category of alternate page with proper canonical tag are URLs that Google has discovered that have similar or identical content to other URLs on your website. Pages that are in this category are not indexed because Google instead chose the other version of the page because it was identified with the link canonical HTTP tag to be the primary version of the content.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It's hard enough to get a user's attention on the Internet long enough for them to see enough value in your product to take an immediate action that takes time on their end. But you are asking them to do it twice. First, to sign up. And then a second time, at a later date, to get out their wallet.

Something I forgot to mention is that the first time, during sign up, is when the user came across your product, and it caught their eye. This is when you have their attention the most. Not a month later when they're not thinking about you anymore, laying on the sofa watching TV, while casually scrolling through a hundred junk emails and you're just one of many marketing emails in their inbox. If there's going to be any time when a user is going to take the time and thought to hand over their credit card, it's going to be at that initial moment when you just grabbed their attention and you're foremost in their mind.

Dhanabalan M commented: Really, you are the queen of DaniWeb. Thanks, I gained more clarity. +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It might just be the case that for every 100 people who are interested in using your product if it were free, only 1 of those people find enough value in your product to pay for it.

This might be an unpopular opinion, but what if you were to ask for a credit card up front and have the free trial automatically convert to a paid membership after the initial 30 days? There's a reason most companies do it this way. And that's because you're trying to convert a user twice. It's hard enough to get a user's attention on the Internet long enough for them to see enough value in your product to take an immediate action that takes time on their end. But you are asking them to do it twice. First, to sign up. And then a second time, at a later date, to get out their wallet.

I would be very curious what the outcome would be if you were to run a test where you only sought the user's attention span the one time. At the least, this would tell you if your problem is that your target audience, at the moment you have their attention and interest, simply doesn't see enough value in your product to pay for it, or if the problem is that you're trying to convert them twice. If it's the former, then either your product needs to improve or your price needs to lower. Either way, you need to make …

Dhanabalan M commented: Thanks, i totally agree that, valid point +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

When someone signs up for the free trial, that’s when you have their attention. You’re either solving a pain point they have, providing them something they want or that interests them, etc., and they’re taking the time to download your extension and sign up.

Is the expectation that they return to your website 30 days later with credit card in hand? Does the extension remind them that it will stop functioning soon? Perhaps after 30 days, they’ve gotten all the utility they need from your extension and no longer have a need for it. It could be a whole bunch of things. It’s hard to offer more without knowing some more details as to what the extension does and how you’re currently promoting it.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

You're getting downvoted because AI-generated content is against our rules, and your post just comes across as if you copy/pasted some ChatGPT tips for good SEO.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It's incredibly hard to read your code because it is not properly indented.

That aside, a quick glance lets me see you are using PHP's deprecated mysql library instead of its replacement, the mysqli library. Additionally, you have a serious MySQL injection bug on line 16. You absolutely want to use real_escape_string() as so (my example code uses the MySQL instead of the MySQLi library, even though it's defunct):

$value = mysql_real_escape_string($_POST['input1'], $link);
$value2 = mysql_real_escape_string($_POST['MAmount'], $link);
$sql = "INSERT INTO demo (input1, MAmount) VALUES ($value, $value2)";

Now as far as your bug, I'm confused by your question. On line 56, you have $body = 'Print the data'; and then on line 63, you have $mail->MsgHTML($body); so only "Print the data" is going into the email message body. Instead, you can replace line 56 with something like: $body = "The new data entered is input $value with amount $value2";

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Youtube, I suppose?

My bad. I was viewing all recent posts when I commented, and didn't note the topic title that this post came from.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Starting a digital marketing/SEO agency is really tough these days because there are just sooooo many of them. What about your stands out? Play to your strengths. Choose a niche and focus on that. For example, be the absolute best SEO agency for car dealerships. (Just a random industry.) Reach out to every car dealer in your area. Dealerships will want to sign with you because you cater exclusively to them, and they don't want to deal with a generic agency that doesn't know their industry and their clientele.

rproffitt commented: What's Twitter? Nod to Bluesky. +17
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Would you please be able to give a little bit more background into what this code is supposed to do, and exactly what fails? For example, you wrote it doesn't save the input and file extension to the same document. What does that mean? On line 72 of your code, does it successfully create a directory when it needs to? On line 76, does it create a file, but just not the correct file? What is in the file? I'm not seeing anywhere in your code where you write anything to the file. Is the intent just to create an empty file? Is the code being run from a user account that has permission to access C:\Users\brett\Documents?

Bdill7 commented: thanks +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Posting an unsolicited message for everyone to see.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I am really happy that you are fine. I haven’t seen any posts from you over the last few days (before yesterday), and I was a bit worried. I hope you are well and as vibrant as always.

Yeah, I've been having a hard time since Thanksgiving. I caught my first cold since the leukemia diagnosis and it hasn't been very fun.

I still can’t find a category on this site unless I’ve bookmarked its URL. In my opinion, that was a huge mistake, and I would have thought that by now, even you would have realized it was (but you haven’t).

I feel like you're confusing the "feature" I was pointing out, where forums default to showing recommended topics only, with your hatred for the tagging system (and some of the more popular forums such as C/C++, Java, PHP being replaced with tags).

That being said, I don't understand why you can't find what you're looking for here? How does the fact that it's a tag compared to a forum detract from your ability to find it? Anyways, I digress. I didn't mean to rehash the old forums vs. tags argument. I was only meaning to point out the filter dropdown functionality.

My opinion is that this change shattered DaniWeb communities apart, caused many people to leave, and was counterproductive.

Let's agree to disagree. The forums/tags change happened at the exact same moment of the Dazah disaster where all members lost the …

jkon commented: I am happy and grateful for the community that you have provided to us . Thank you +0
MMHN commented: good content +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Is there a grand attack to make DaniWeb posts garbage ?

I would not say that there is a grand attack to make DaniWeb posts garbage, but I would have to say that there is a grand attack to make all content across the entire world wide web garbage. According to this (already outdated) article, 57% of the content on the Internet is already AI-generated, and that number is only growing exponentially.

It's a huge problem, and it has nothing to do with us being test cases, nor is the problem that our sign-up mechanism is great for bots. A lot of it has to do with SEO, and the entire digital marketing ecosystem, really. For the past 20 years, the digital marketing industry has hammered into marketers' heads that the best way to sell their products and services is to infiltrate themselves into niche communities and blogs on the web and pass themselves off as industry experts. When company representatives share knowledge with prospective consumers, they gain their respect, and they don't come off as marketers. Instead, the products shine for themselves as being well crafted by industry experts, for industry experts. This is the reason why every single business nowadays has a blog targeted to winning over industry experts of <insert product category here>. For example, NVidia has both a blog as well as an AI Podcast on Soundcloud. Obviously they wouldn't invest in all of this content if it didn't directly help them …

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I don’t use any of them. Our backend is PHP. Specifically, an old version of the CodeIgniter framework. For the front end, we use the Bootstrap CSS framework with Sass. I’m also old school and use jQuery, and I build a custom version of that as well with node. So I just do npm build type of thing. The HTML is hand-coded with a PHP templating library.

sadiaafrin commented: Good contant +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I’m locking this topic because, unfortunately, instead of leading to interesting discussion, it turned into AI-generated post after AI-generated post repeating what AI is. (They’ve since been deleted.)

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Daniweb’s forums are not a marketplace and we don’t allow solicitations. However, may I recommend Upwork or (for higher budgets) Toptal? I have had a really good experience hiring from Upwork.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Most blog articles and social media posts are now AI-generated, for starters.

rproffitt commented: Ouch. Also I was just told about i n s t a b l o g g e r. +17
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I can only speak for the limited experience I have in coding DaniWeb. What we do differs mainly between if the HTTP request that's requesting the PHP page uses GET or POST. In the case of a POST request, we're most likely signing up, creating a post, editing a user profile, etc. In the case of a GET request, we're most likely just reading content and not modifying the database.

GET Requests:

  • Open a persistent MySQL connection at the beginning of the PHP script
  • Execute n number of MySQL queries (typically 0-3) throughout the PHP script

POST Requests:

  • Open a non-persistent MySQL connection at the beginning of the PHP script
  • Start a transaction
  • Execute n number of MySQL queries (typically 3-5) throughout the PHP script
  • End the transaction
  • Close the MySQL connection

On average, a rough guess is that each script takes about 120 ms to execute for an end-user. HTTP latency then brings that number closer to 200 ms (of course, depending on where in the world you are, this is often much higher) from HTTP request to response.

We then do run PHP scripts in cron jobs to do things like send emails and perform some heavy calculations. We do this much the same way as our GET requests, in that we open a persistent MySQL connection. The cron job often executes a couple really complex MySQL queries that might take as much as a second or more to execute. There's also a lot …

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

So I went ahead and made sure to connect.close() everywhere that I opened a connection

How many times do you have a single script opening and closing a connection to MySQL? Is this a web script?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Are you connecting to MySQL with persistent connections? What happens if you don't use persistent connections?

Also, I'm confused what you mean about it complaining about too many connections simply by you changing how many records a single connection works with?

cored0mp commented: responded below, thanks +2
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome to DaniWeb!!

You'll find that, while we haven't had a lot of user activity as of late (I have been very sick for the last few years which has made it hard to put my energy into DaniWeb), we used to be the most popular C/C++ community on the web back in the day. You'll find a lot of interesting content if you search back a bit.

Lihui Zhang commented: Thank you for your comment. It's understandable that your health has taken precedence, and I hope you're feeling better now. +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Unfortunately a bug was preventing alexxx1 from posting. He messaged me:

Btw the location js is resolved. I needed to add fetch()

I'm honestly confused where he needed to add fetch()?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

What I mean is, can you please provide the URL on spaces.w3schools.com, so that I can see if maybe it's a CORS issue that is causing the problem. (That's my best guess as to what the problem is, but if I can check out the URL, I can investigate further.)

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

... In other words, we already see it works at the live demo at https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_countdown

There has to be something on your website that is causing the javascript to break, but without actually seeing your website, there's no way to diagnose the issue.

It's like saying that your lights don't turn on, and asking an electrician to figure out why, but only sending them a photograph of the lightbulb. Yes, from the photograph, they might be able to tell you that the bulb is blown. However, if that wasn't it, it might not be working because there's a problem with the light switch. It might not be working because of a problem with the circuit breaker. It might not be working because of a problem with the electrical company.

I already saw a screenshot of your code and saw some glaring typos that were causing syntax errors. Now that your updated code doesn't show any "quick fixes", I need to actually look at the webpage to investigate why it's not working.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Can you please share a public link to a URL where you are testing/using it so that I can investigate further?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

What happens when you just go to the URL https://api.snoopi.io/check?apikey=MY API KEY ? Does the API correctly provide your location in JSON format?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Please show me your code. You must be doing something wrong still.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Google's Geospatial API works in any region where Google Street view exists. If Google Street view doesn't exist for a given area, the API won't be able to generate data for that area. Sorry.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

You need to include all of the code in order to put everything together to get a working timer. The code <span id="demo" class="demo"></span> is HTML which we're using as a placeholder for where the timer should be. Then, the javascript actually is what makes the timer function, with code that keeps updating the HTML within that <span> tag.

If you copy and paste all of the HTML and Javascript code in the working demo here, and put it into an HTML page, you can build your own timer.

Alternatively, you can break it up into two files, uploaded to the same directory on the www, as so:

timer.html:

<!DOCTYPE HTML>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    p {
      text-align: center;
      font-size: 60px;
      margin-top: 0px;
    }
    </style>

    // Note we add this here to reference where the JS file is
    <script src="./countdown.js">
</head>
<body>

<p id="demo"></p>

</body>
</html>

countdown.js:

*Everything within <script> and </script> tags in the demo, as so:

// Set the date we're counting down to
var countDownDate = new Date("Jan 5, 2030 15:37:25").getTime();

// Update the count down every 1 second
var x = setInterval(function() {

    [...]

}, 1000);

I hope this makes some sense. Please reply if you have any follow up questions.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hello and welcome!!

Anam_5 commented: thanks +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome!

devin-dev commented: Thank you! Glad to join. I work in AI and digital transformation at Sky Solution, so happy to share insights and learn from you all! +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

That other thread has been deleted for being entirely AI-generated content.

To answer your question, you WANT me to say that the answer is B, but the truth is that none of the four techniques you mentioned work anymore. Google caught onto guest blogging a couple of years ago, and blatant guest blogging won’t help you the way it did 2 years ago.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Make sure your website ranks on search engines for terms like "cleaning services near me".

If you work on getting into Google Maps with a prominent Business Profile, you'll automatically rank for "[...] near me". Have every client you get write a review. Reviews help.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I would focus on Google Local, Yelp, Houzz, Angies, Handy, etc.

There are also local referral organizations where you can pay for membership. They typically include services like one handyman service, one house painter, one landscaper/gardener, one cleaning service, etc. Members of the group meet once a month or so to get to know each other and share ideas with each other, and typically refer their clients to other members within the group.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Can you please show us your code and explain what the expected behavior is and what is not working?

$_SERVER['DOCUMENT_ROOT']; reflects the path on the server that serves as the root path / for the website. When you set $path = $_SERVER['DOCUMENT_ROOT']; you are setting a PHP variable named $path to whatever the value of the document root is, but it doesn't actually do anything with that beyond set the variable.

It's possible you're using a CMS or framework of some kind that does something with a $path variable, but without seeing any code, it wouldn't do anything.

Also, when you say styles, are you referring to the theme files for a CMS? Or CSS stylesheets? I'm not sure what you're referring to here.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I'm personally not familiar with Android development, but I'm sure there is app storage.

https://developer.android.com/training/data-storage