Este é um trabalho para delimitadores de item de texto. Se você não está familiarizado, um delimitador é um separador, normalmente entre as palavras o separador é um espaço. Com os delimitadores de item de texto, você pode alterar o espaço normal para qualquer valor de texto desejado. Nesse caso, você faria "{keyword1}" os delimitadores de item de texto, então o script verá o texto original como apenas duas palavras, tudo antes de "Keyword1" e depois de tudo é a segunda palavra. Em seguida, defina delimitadores de item de texto para o que você deseja substituir "{keyword1}" com e coloque as duas palavras de volta em um item de texto.
Eu escrevi um código básico que faz o que você pergunta abaixo, com alguns comentários inline. Uma nota, sempre que estiver jogando com delimitadores de item de texto, sempre terminará o script, definindo-os de volta ao padrão. Eu armazenei os delimitadores de item de texto original em uma variável chamada "tid" e os configurei novamente no final do script.
--Set the variables
set originalText to "http://www.thedomain.com/ajdkeial.html?keyword1={keyword1}&keyword2={keyword2}"
set key1 to "{keyword1}"
set key2 to "{keyword2}"
set subKey1 to "NewKeyWord"
set subKey2 to "AnotherKeyWord"
--Main Script
set tid to text item delimiters
set text item delimiters to key1
set tempList to every text item of originalText
(* the line above returns two item, everything before {keword1} and the second item is everything after {keyword1} *)
set text item delimiters to subKey1
set newText to every item of tempList as text
(* The line above takes the two items from tempList and puts the replacement key word between them *)
--Below, do the same for the second keyword
set text item delimiters to key2
set tempList to every text item of newText
set text item delimiters to subKey2
set newText to every item of tempList as text
set text item delimiters to tid
return newText --> "http://www.thedomain.com/ajdkeial.html?keyword1=NewKeyWord&keyword2=AnotherKeyWord"